X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=isl_hmap_map_basic_set.c;h=09f7f6067fbfb68808135c68e819762e301097e9;hb=7bf6a6f5b9621c9d187c4595fd233cbcdd168d7a;hp=b303516f03109053d4e6ea529c6e03348829b750;hpb=fe8f991cf09ecb1aed45cd2599f23a490ac46501;p=platform%2Fupstream%2Fisl.git diff --git a/isl_hmap_map_basic_set.c b/isl_hmap_map_basic_set.c index b303516..09f7f60 100644 --- a/isl_hmap_map_basic_set.c +++ b/isl_hmap_map_basic_set.c @@ -78,7 +78,7 @@ int isl_hmap_map_basic_set_set(isl_ctx *ctx, entry = isl_hash_table_find(ctx, &hmap->table, hash, &has_key, key, 1); if (!entry) - return -1; + goto error; if (entry->data) { pair = entry->data; @@ -89,14 +89,15 @@ int isl_hmap_map_basic_set_set(isl_ctx *ctx, } pair = isl_alloc_type(ctx, struct isl_map_basic_set_pair); - if (!pair) { - isl_map_free(key); - isl_basic_set_free(val); - return -1; - } + if (!pair) + goto error; entry->data = pair; pair->key = key; pair->val = val; return 0; +error: + isl_map_free(key); + isl_basic_set_free(val); + return -1; }