commit 86f15f46dc19473c6f99fa64bdb0716ac73b6287
parent 9270cd9c46e7ff50655027606fab7ebdd9618658
Author: Frederic Cambus <fcambus@users.sourceforge.net>
Date: Thu, 1 Oct 2015 14:49:21 +0200
Fixing segfault when request data is empty and or malformed (thanks to Jonathan Armani for reporting and proposing a fix)
Diffstat:
1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/src/parse.c b/src/parse.c
@@ -49,6 +49,10 @@ void parseLine(struct logLine* parsedLine, char *lineBuffer) {
}
void parseRequest(struct request* parsedRequest, char *request) {
- parsedRequest->protocol = strrchr(request, ' ') + 1;
- parsedRequest->method = strtok(request, " ");
+ char *pch = strrchr(request, ' ');
+
+ if (pch) {
+ parsedRequest->protocol = pch + 1;
+ parsedRequest->method = strtok(request, " ");
+ }
}