diff options
author | Lukas Fleischer <cgit@cryptocrack.de> | 2011-03-31 08:21:39 (JST) |
---|---|---|
committer | Lars Hjemli <hjemli@gmail.com> | 2011-05-24 05:58:35 (JST) |
commit | 070e109c1413d28b54eb6123a9fd24ac98897554 (patch) | |
tree | 70f10262cdbc29cb9d083d24c03b1524a3d90ecd | |
parent | c9059710e7a1dbd47c22c412e0ba8f591105e3cf (diff) | |
download | cgit-070e109c1413d28b54eb6123a9fd24ac98897554.zip cgit-070e109c1413d28b54eb6123a9fd24ac98897554.tar.gz |
Fix memory leak in http_parse_querystring().
Signed-off-by: Lukas Fleischer <cgit@cryptocrack.de>
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
-rw-r--r-- | html.c | 5 |
1 files changed, 3 insertions, 2 deletions
@@ -290,12 +290,12 @@ char *convert_query_hexchar(char *txt) | |||
290 | 290 | ||
291 | int http_parse_querystring(const char *txt_, void (*fn)(const char *name, const char *value)) | 291 | int http_parse_querystring(const char *txt_, void (*fn)(const char *name, const char *value)) |
292 | { | 292 | { |
293 | char *t, *txt, *value = NULL, c; | 293 | char *o, *t, *txt, *value = NULL, c; |
294 | 294 | ||
295 | if (!txt_) | 295 | if (!txt_) |
296 | return 0; | 296 | return 0; |
297 | 297 | ||
298 | t = txt = strdup(txt_); | 298 | o = t = txt = strdup(txt_); |
299 | if (t == NULL) { | 299 | if (t == NULL) { |
300 | printf("Out of memory\n"); | 300 | printf("Out of memory\n"); |
301 | exit(1); | 301 | exit(1); |
@@ -318,5 +318,6 @@ int http_parse_querystring(const char *txt_, void (*fn)(const char *name, const | |||
318 | } | 318 | } |
319 | if (t!=txt) | 319 | if (t!=txt) |
320 | (*fn)(txt, value); | 320 | (*fn)(txt, value); |
321 | free(o); | ||
321 | return 0; | 322 | return 0; |
322 | } | 323 | } |