summaryrefslogtreecommitdiff
path: root/keyword.c
diff options
context:
space:
mode:
Diffstat (limited to 'keyword.c')
-rw-r--r--keyword.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/keyword.c b/keyword.c
index 385f526..3a87c13 100644
--- a/keyword.c
+++ b/keyword.c
@@ -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;
}