diff options
Diffstat (limited to 'libcutils/str_parms.c')
-rw-r--r-- | libcutils/str_parms.c | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/libcutils/str_parms.c b/libcutils/str_parms.c index 14fecec..16138f6 100644 --- a/libcutils/str_parms.c +++ b/libcutils/str_parms.c @@ -158,15 +158,18 @@ int str_parms_add_str(struct str_parms *str_parms, const char *key, const char *value) { void *old_val; - char *tmp; + void *tmp_key; + void *tmp_val; - tmp = strdup(value); - old_val = hashmapPut(str_parms->map, (void *)key, tmp); + tmp_key = strdup(key); + tmp_val = strdup(value); + old_val = hashmapPut(str_parms->map, tmp_key, tmp_val); if (old_val) { free(old_val); } else if (errno == ENOMEM) { - free(tmp); + free(tmp_key); + free(tmp_val); return -ENOMEM; } return 0; @@ -298,6 +301,7 @@ static void test_str_parms_str(const char *str) int ret; str_parms = str_parms_create_str(str); + str_parms_add_str(str_parms, "dude", "woah"); str_parms_dump(str_parms); out_str = str_parms_to_str(str_parms); str_parms_destroy(str_parms); |