summaryrefslogtreecommitdiffstats
path: root/c/src/libnetworking/rtems_webserver/webs.c
diff options
context:
space:
mode:
Diffstat (limited to 'c/src/libnetworking/rtems_webserver/webs.c')
-rw-r--r--c/src/libnetworking/rtems_webserver/webs.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/c/src/libnetworking/rtems_webserver/webs.c b/c/src/libnetworking/rtems_webserver/webs.c
index 3181c602ec..e61c80f3ca 100644
--- a/c/src/libnetworking/rtems_webserver/webs.c
+++ b/c/src/libnetworking/rtems_webserver/webs.c
@@ -565,6 +565,11 @@ static int websGetInput(webs_t wp, char_t **ptext, int *pnbytes)
return -1;
} else if (nbytes == 0) { /* EOF or No data available */
+ /* Bugfix for POST DoS attack with invalid content length */
+ if (socketEof(wp->sid)) {
+ websDone(wp, 0);
+ }
+ /* End of bugfix */
return -1;
} else { /* Valid data */