Skip to content

Commit 620c486

Browse files
hwdedevnexen
authored andcommitted
Fix possible leaks
- content_type_dup may leak on further post request - local content_type isn’t free’ed on unsupported content-type
1 parent e2bd3b1 commit 620c486

File tree

1 file changed

+11
-1
lines changed

1 file changed

+11
-1
lines changed

main/SAPI.c

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -209,15 +209,22 @@ static void sapi_read_post_data(void)
209209
SG(request_info).post_entry = NULL;
210210
if (!sapi_module.default_post_reader) {
211211
/* no default reader ? */
212-
SG(request_info).content_type_dup = NULL;
212+
if (SG(request_info).content_type_dup) {
213+
efree(SG(request_info).content_type_dup);
214+
SG(request_info).content_type_dup = NULL;
215+
}
213216
sapi_module.sapi_error(E_WARNING, "Unsupported content type: '%s'", content_type);
217+
efree(content_type);
214218
return;
215219
}
216220
}
217221
if (oldchar) {
218222
*(p-1) = oldchar;
219223
}
220224

225+
if (SG(request_info).content_type_dup) {
226+
efree(SG(request_info).content_type_dup);
227+
}
221228
SG(request_info).content_type_dup = content_type;
222229

223230
if(post_reader_func) {
@@ -466,6 +473,9 @@ SAPI_API void sapi_activate(void)
466473
* depending on given content type */
467474
sapi_read_post_data();
468475
} else {
476+
if (SG(request_info).content_type_dup) {
477+
efree(SG(request_info).content_type_dup);
478+
}
469479
SG(request_info).content_type_dup = NULL;
470480
}
471481

0 commit comments

Comments
 (0)