diff options
Diffstat (limited to 'libobjc/selector.c')
-rw-r--r-- | libobjc/selector.c | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/libobjc/selector.c b/libobjc/selector.c index f8a7f14fdb1..4110df2662b 100644 --- a/libobjc/selector.c +++ b/libobjc/selector.c @@ -357,8 +357,12 @@ SEL sel_getTypedSelector (const char *name) { sidx i; - objc_mutex_lock (__objc_runtime_mutex); + if (name == NULL) + return NULL; + + objc_mutex_lock (__objc_runtime_mutex); + /* Look for a typed selector. */ i = (sidx) objc_hash_value_for_key (__objc_selector_hash, name); if (i != 0) @@ -658,6 +662,9 @@ SEL sel_registerName (const char *name) { SEL ret; + + if (name == NULL) + return NULL; objc_mutex_lock (__objc_runtime_mutex); /* Assume that name is not constant static memory and needs to be @@ -680,6 +687,9 @@ sel_registerTypedName (const char *name, const char *type) { SEL ret; + if (name == NULL) + return NULL; + objc_mutex_lock (__objc_runtime_mutex); /* Assume that name and type are not constant static memory and need to be copied before put into a runtime structure. is_const == |