commit - a35d82dbb6d02edf3c6e603e21a30fde949599ca
commit + b91d801835eb928cf8379ebefe2add66ed98f61c
blob - 17822273e355dc4920ba6c96abb177d956196f66
blob + c0f061606991091d8360341449bbda56d52d599e
--- book.c
+++ book.c
return;
}
- char *body = malloc((size_t) content_length + 1);
- if (body == NULL) {
- cgi_error(500);
- return;
- }
+ char body[MAX_BODY + 1];
const size_t nread = fread(body, 1, (size_t) content_length, stdin);
body[nread] = '\0';
char *csrf_form = cgi_form_get(body, CSRF_KEY);
if (!cgi_csrf_check(csrf_form)) {
free(csrf_form);
- free(body);
cgi_error(403);
return;
}
/* Parse and validate date. */
if (date_parse(day_param, &tm) != 0) {
fprintf(stderr, "Error parsing date \"%s\"\n", day_param);
- free(body);
cgi_error_csrf(400);
return;
}
if (date_is_past(&tm)) {
- free(body);
cgi_error_csrf(400);
return;
}
/* Get desk from form. */
char *desk = cgi_form_get(body, DESK_KEY);
- free(body);
if (desk == NULL || *desk == '\0') {
free(desk);
cgi_error_csrf(400);
blob - 38f02a143898383191680571ede5d92d7e2a0404
blob + 421433c28ea38248b15cc5e9802eb360617f1750
--- cancel.c
+++ cancel.c
return;
}
- char *body = malloc((size_t) content_length + 1);
- if (body == NULL) {
- cgi_error(500);
- return;
- }
+ char body[MAX_BODY + 1];
const size_t nread = fread(body, 1, (size_t) content_length, stdin);
body[nread] = '\0';
char *csrf_form = cgi_form_get(body, CSRF_KEY);
if (!cgi_csrf_check(csrf_form)) {
free(csrf_form);
- free(body);
cgi_error(403);
return;
}
char *day = cgi_form_get(body, DATE_KEY);
if (day == NULL || *day == '\0') {
free(day);
- free(body);
cgi_error_csrf(400);
return;
}
if (date_parse(day, &tm) != 0) {
fprintf(stderr, "Error parsing date \"%s\"\n", day);
free(day);
- free(body);
cgi_error_csrf(400);
return;
}
free(day);
if (date_is_past(&tm)) {
- free(body);
cgi_error_csrf(400);
return;
}
/* Get desk from form. */
char *desk = cgi_form_get(body, DESK_KEY);
- free(body);
if (desk == NULL || *desk == '\0') {
free(desk);
cgi_error_csrf(400);