From cc1052c46eb8dd3bc6d6e5836b48d5d73196b4b2 Mon Sep 17 00:00:00 2001 From: David Ayers Date: Wed, 19 Feb 2003 20:48:03 +0000 Subject: [PATCH] Add some sanity checks to last modification. git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@16017 72102866-910b-0410-8b05-ffd578937521 --- Source/NSArray.m | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/Source/NSArray.m b/Source/NSArray.m index 117a9cd9a..fa5694cc4 100644 --- a/Source/NSArray.m +++ b/Source/NSArray.m @@ -794,9 +794,20 @@ compare(id elem1, id elem2, void* context) { NSComparisonResult (*imp)(id, SEL, id); + if (context == 0) + [NSException raise: NSInvalidArgumentException + format: @"compare null selector given"]; + imp = (NSComparisonResult (*)(id, SEL, id)) [elem1 methodForSelector: context]; + if (imp == NULL) + { + [NSException raise: NSGenericException + format: @"invalid selector passed to compare"]; + return 0; + } + return (*imp)(elem1, context, elem2); }