logswan

Fast Web log analyzer using probabilistic data structures
Log | Files | Refs | README | LICENSE

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:
Msrc/parse.c | 8++++++--
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, " "); + } }