summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorstderr64 <linuxwizard@voidnet.dy.fi>2024-03-04 19:59:10 +0200
committerstderr64 <linuxwizard@voidnet.dy.fi>2024-03-04 19:59:10 +0200
commitd86ca619cf532a010198dfa0d9f5ed8f29f0d673 (patch)
tree0e3d7ba835c06bd16eea883c64e278918b4a55d6
parent70e822c0e3339cede1225e811593bb7fb5906f3b (diff)
downloadCWebHook-d86ca619cf532a010198dfa0d9f5ed8f29f0d673.tar.gz
CWebHook-d86ca619cf532a010198dfa0d9f5ed8f29f0d673.tar.zst
Make sure memory is allocated for command output and fixes to Makefile
-rw-r--r--Makefile4
-rw-r--r--webhook_exec.h5
2 files changed, 7 insertions, 2 deletions
diff --git a/Makefile b/Makefile
index d0450d4..109c9b3 100644
--- a/Makefile
+++ b/Makefile
@@ -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 );