connPTR->bufUse += len;
rdmore = 0;
+ if (connPTR->bufUse >= connPTR->bufSize) {
+ edg_wll_SetError(ctx,EINVAL,"HTTP Request too long");
+ free(connPTR->buf); connPTR->buf = NULL;
+ connPTR->bufUse = 0;
+ connPTR->bufSize = 0;
+ goto error;
+ }
+
while (!rdmore && pstat != DONE) switch (pstat) {
char *cr;
if ( !ctx->connProxy->buf ) {
ctx->connProxy->bufSize = BUFSIZ;
ctx->connProxy->bufUse = 0;
- ctx->connProxy->buf = malloc(BUFSIZ);
+ ctx->connProxy->buf = malloc(ctx->connProxy->bufSize);
}
do {