diff options
-rw-r--r-- | keyword.c | 6 |
1 files changed, 5 insertions, 1 deletions
@@ -13,7 +13,11 @@ void *get_keyword_offset_ptr(const keyword *key, void *ptr) { char *ret = (char *)(ptr+key->offsets[0]); for (int i = 1; (int64_t)key->offsets[i] >= 0; ++i) { - ret = *(char **)(ret+key->offsets[i]); + if (*(char **)ret != NULL) { + ret = (*(char **)ret)+key->offsets[i]; + } else { + return NULL; + } } return (void *)ret; } |