Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c4c631a1 authored by Dima Zavin's avatar Dima Zavin Committed by Android (Google) Code Review
Browse files

Merge "cutils: str_parms: free the key if the value was replaced during create/add"

parents 427d2b43 86bfbe3c
Loading
Loading
Loading
Loading
+5 −1
Original line number Diff line number Diff line
@@ -128,8 +128,10 @@ struct str_parms *str_parms_create_str(const char *_string)

        /* if we replaced a value, free it */
        old_val = hashmapPut(str_parms->map, key, value);
        if (old_val)
        if (old_val) {
            free(old_val);
            free(key);
        }

        items++;
next_pair:
@@ -167,6 +169,7 @@ int str_parms_add_str(struct str_parms *str_parms, const char *key,

    if (old_val) {
        free(old_val);
        free(tmp_key);
    } else if (errno == ENOMEM) {
        free(tmp_key);
        free(tmp_val);
@@ -327,6 +330,7 @@ int main(void)
    test_str_parms_str("foo=bar;baz=");
    test_str_parms_str("foo=bar;baz=bat");
    test_str_parms_str("foo=bar;baz=bat;");
    test_str_parms_str("foo=bar;baz=bat;foo=bar");

    return 0;
}