diff options
Diffstat (limited to 'plugins/check_http.c')
-rw-r--r-- | plugins/check_http.c | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/plugins/check_http.c b/plugins/check_http.c index a9c2238..c23625e 100644 --- a/plugins/check_http.c +++ b/plugins/check_http.c | |||
@@ -1399,7 +1399,6 @@ char *unchunk_content(const char *content) { | |||
1399 | char *endptr; | 1399 | char *endptr; |
1400 | long length_of_chunk = 0; | 1400 | long length_of_chunk = 0; |
1401 | size_t overall_size = 0; | 1401 | size_t overall_size = 0; |
1402 | char *result_ptr; | ||
1403 | 1402 | ||
1404 | while (true) { | 1403 | while (true) { |
1405 | size_of_chunk = strtol(pointer, &endptr, 16); | 1404 | size_of_chunk = strtol(pointer, &endptr, 16); |
@@ -1446,7 +1445,6 @@ char *unchunk_content(const char *content) { | |||
1446 | } | 1445 | } |
1447 | return NULL; | 1446 | return NULL; |
1448 | } | 1447 | } |
1449 | result_ptr = result; | ||
1450 | } else { | 1448 | } else { |
1451 | void *tmp = realloc(result, overall_size); | 1449 | void *tmp = realloc(result, overall_size); |
1452 | if (tmp == NULL) { | 1450 | if (tmp == NULL) { |
@@ -1454,11 +1452,12 @@ char *unchunk_content(const char *content) { | |||
1454 | printf("Failed to allocate memory for unchunked body\n"); | 1452 | printf("Failed to allocate memory for unchunked body\n"); |
1455 | } | 1453 | } |
1456 | return NULL; | 1454 | return NULL; |
1455 | } else { | ||
1456 | result = tmp; | ||
1457 | } | 1457 | } |
1458 | } | 1458 | } |
1459 | 1459 | ||
1460 | memcpy(result_ptr, start_of_chunk, size_of_chunk); | 1460 | memcpy(result + (overall_size - size_of_chunk), start_of_chunk, size_of_chunk); |
1461 | result_ptr = result_ptr + size_of_chunk; | ||
1462 | } | 1461 | } |
1463 | 1462 | ||
1464 | result[overall_size] = '\0'; | 1463 | result[overall_size] = '\0'; |