cutils: str_parms: need to also dup the key when adding to hash
Change-Id: Iabdd2061cbc36c6f4d4eb6e46bd757b5b52e0027
Signed-off-by: Dima Zavin <dima@android.com>
diff --git a/libcutils/str_parms.c b/libcutils/str_parms.c
index 14fecec..0d8c965 100644
--- a/libcutils/str_parms.c
+++ b/libcutils/str_parms.c
@@ -158,15 +158,18 @@
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;