Check that arguments to dessingated initialiser are valid

git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@27087 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
Richard Frith-MacDonald 2008-11-18 09:19:44 +00:00
parent af99c790ae
commit 6a285011dc
2 changed files with 13 additions and 2 deletions

View file

@ -1,4 +1,8 @@
2008-11-07 Roland Schwingel <roland.schwingel@onevision.de>
2008-11-18 Richard Frith-Macdonald <rfm@gnu.org>
* Source/NSURL.m: Check class of arguments to designated initialiser
2008-11-17 Roland Schwingel <roland.schwingel@onevision.de>
* Source/GSSocketStream.m:
* Source/NSPropertyList.m:

View file

@ -632,12 +632,19 @@ static unsigned urlAlign;
*/
static const char *reserved = ";/?:@&=+$,";
if (aUrlString == nil)
if ([aUrlString isKindOfClass: [NSString class]] == NO)
{
[NSException raise: NSInvalidArgumentException
format: @"[%@ %@] nil string parameter",
NSStringFromClass([self class]), NSStringFromSelector(_cmd)];
}
if (aBaseUrl != nil
&& [aBaseUrl isKindOfClass: [NSURL class]] == NO)
{
[NSException raise: NSInvalidArgumentException
format: @"[%@ %@] bad base URL parameter",
NSStringFromClass([self class]), NSStringFromSelector(_cmd)];
}
ASSIGNCOPY(_urlString, aUrlString);
ASSIGN(_baseURL, [aBaseUrl absoluteURL]);
NS_DURING