From 70b93034f3ce06404e9b042c80759da25dac99d8 Mon Sep 17 00:00:00 2001 From: Dima Zavin Date: Mon, 12 Mar 2012 11:01:16 -0700 Subject: [PATCH] cutils: str_parms: need to also dup the key when adding to hash Change-Id: Iabdd2061cbc36c6f4d4eb6e46bd757b5b52e0027 Signed-off-by: Dima Zavin --- libcutils/str_parms.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/libcutils/str_parms.c b/libcutils/str_parms.c index 14fecec63..0d8c96550 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;