diff options
author | Rafael G. Martins <rafael@rafaelmartins.eng.br> | 2015-11-04 01:30:25 -0200 |
---|---|---|
committer | Rafael G. Martins <rafael@rafaelmartins.eng.br> | 2015-11-04 01:30:25 -0200 |
commit | 10e353aa321348e61805be443daca6e1be8bf51f (patch) | |
tree | 3b77ffdb176ce2f125142bf7242c8e3dcba9f90d | |
parent | bbe7e42e7ae5b5eb5d8f20fdf79c8a3e622746b8 (diff) | |
download | blogc-10e353aa321348e61805be443daca6e1be8bf51f.tar.gz blogc-10e353aa321348e61805be443daca6e1be8bf51f.tar.bz2 blogc-10e353aa321348e61805be443daca6e1be8bf51f.zip |
Revert "Revert "content-parser: fix memory leak in gcc""
This reverts commit 13ce0cdba95a857410208282ea5d0bb13ee1baec.
-rw-r--r-- | src/content-parser.c | 2 | ||||
-rw-r--r-- | tests/check_content_parser.c | 8 |
2 files changed, 6 insertions, 4 deletions
diff --git a/src/content-parser.c b/src/content-parser.c index 1529ace..f451587 100644 --- a/src/content-parser.c +++ b/src/content-parser.c @@ -1109,7 +1109,7 @@ param_end: if (c == '\n' || c == '\r' || is_last) { char *rv_d = blogc_directive_loader(directive_name, directive_argument, directive_params); - if (rv_d) + if (rv_d != NULL) b_string_append(rv, rv_d); free(rv_d); state = CONTENT_START_LINE; diff --git a/tests/check_content_parser.c b/tests/check_content_parser.c index 5d13564..8bd16ec 100644 --- a/tests/check_content_parser.c +++ b/tests/check_content_parser.c @@ -1026,9 +1026,11 @@ __wrap_blogc_directive_loader(const char *name, const char *argument, assert_string_equal(argument, arg); assert_int_equal(b_trie_size(params), mock_type(unsigned int)); - for (unsigned int i = 0; i < b_trie_size(params); i++) - assert_string_equal(b_trie_lookup(params, mock_type(const char*)), - mock_type(const char*)); + for (unsigned int i = 0; i < b_trie_size(params); i++) { + const char *key = mock_type(const char*); + const char *value = mock_type(const char*); + assert_string_equal(b_trie_lookup(params, key), value); + } return b_strdup("CHUNDA\n"); } |