diff --git a/ds.c b/ds.c index ec7c03f..3d857d9 100644 --- a/ds.c +++ b/ds.c @@ -244,11 +244,16 @@ ds_hmp_insert(ds_hmp_t *hmp, char *key, void *data) hash_pos = _ds_hmp_gen_hash(key) % hmp->data_len; if (!hmp->data[hash_pos]) { hmp->data[hash_pos] = ds_sll_init(); + if (!hmp->data[hash_pos]) { + return -1; + } } /* get the ll and put the data into it */ ll = hmp->data[hash_pos]; - ds_sll_insert(ll, kv); + if (ds_sll_insert(ll, kv) != 0) { + return -1; + } return 0; }