diff options
author | stderr64 <linuxwizard@voidnet.dy.fi> | 2024-03-04 19:59:10 +0200 |
---|---|---|
committer | stderr64 <linuxwizard@voidnet.dy.fi> | 2024-03-04 19:59:10 +0200 |
commit | d86ca619cf532a010198dfa0d9f5ed8f29f0d673 (patch) | |
tree | 0e3d7ba835c06bd16eea883c64e278918b4a55d6 | |
parent | 70e822c0e3339cede1225e811593bb7fb5906f3b (diff) | |
download | CWebHook-d86ca619cf532a010198dfa0d9f5ed8f29f0d673.tar.gz CWebHook-d86ca619cf532a010198dfa0d9f5ed8f29f0d673.tar.zst |
Make sure memory is allocated for command output and fixes to Makefile
-rw-r--r-- | Makefile | 4 | ||||
-rw-r--r-- | webhook_exec.h | 5 |
2 files changed, 7 insertions, 2 deletions
@@ -6,7 +6,7 @@ MAX_HEADER_LENGTH=32767 MAX_CONTENT_LENGTH=524288 rel: - $(CC) -DMAX_PEEK_BYTES=${MAX_PEEK_BYTES} -DMAX_RECV_BYTES=${MAX_RECV_BYTES} -DMAX_HEADER_LENGTH=${MAX_HEADER_LENGTH} -DMAX_CONTENT_LENGTH=${MAX_CONTENT_LENGTH} -DMAX_WEBHOOK_OUTPUT_LENGTH=${MAX_WEBHOOK_OUTPUT_LENGTH} -Wall -pedantic-errors -Werror -lssl -lcrypto -lcjson cwebhook.c -o cwebhook + $(CC) -DMAX_PEEK_BYTES=${MAX_PEEK_BYTES} -DMAX_RECV_BYTES=${MAX_RECV_BYTES} -DMAX_HEADER_LENGTH=${MAX_HEADER_LENGTH} -DMAX_CONTENT_LENGTH=${MAX_CONTENT_LENGTH} -DMAX_WEBHOOK_OUTPUT_LENGTH=${MAX_WEBHOOK_OUTPUT_LENGTH} -Wall -pedantic-errors -Werror cwebhook.c -o cwebhook -lssl -lcrypto -lcjson debug: - $(CC) -DMAX_PEEK_BYTES=${MAX_PEEK_BYTES} -DMAX_RECV_BYTES=${MAX_RECV_BYTES} -DMAX_HEADER_LENGTH=${MAX_HEADER_LENGTH} -DMAX_CONTENT_LENGTH=${MAX_CONTENT_LENGTH} -DMAX_WEBHOOK_OUTPUT_LENGTH=${MAX_WEBHOOK_OUTPUT_LENGTH} -Wall -pedantic-errors -Werror -ggdb -lssl -lcrypto -lcjson cwebhook.c -o cwebhook + $(CC) -DMAX_PEEK_BYTES=${MAX_PEEK_BYTES} -DMAX_RECV_BYTES=${MAX_RECV_BYTES} -DMAX_HEADER_LENGTH=${MAX_HEADER_LENGTH} -DMAX_CONTENT_LENGTH=${MAX_CONTENT_LENGTH} -DMAX_WEBHOOK_OUTPUT_LENGTH=${MAX_WEBHOOK_OUTPUT_LENGTH} -Wall -pedantic-errors -Werror -ggdb cwebhook.c -o cwebhook -lssl -lcrypto -lcjson diff --git a/webhook_exec.h b/webhook_exec.h index 445ed88..48b9a4b 100644 --- a/webhook_exec.h +++ b/webhook_exec.h @@ -23,6 +23,11 @@ char *webhook_exec( webhooks_data_t *wh_data, char *wh_endpoint ){ } wh_data->wh_response = NULL; wh_data->wh_output = (char*)calloc( (size_t)MAX_WEBHOOK_OUTPUT_LENGTH, sizeof(char) ); + if ( wh_data->wh_output == NULL ){ + wh_data->wh_command = NULL; + wh_data->wh_output = NULL; + return "Error: failed to allocate memory for command output"; + } FILE *wh_proc = popen( wh_data->wh_command->valuestring, "r" ); if ( wh_proc == NULL ){ free( wh_data->wh_output ); |