logswan

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

commit f8667bbca7055a59631c78977590b50d2896d163
parent 659c7d58082818e1dc37f1b78a56bc9eb70de583
Author: Frederic Cambus <fcambus@users.sourceforge.net>
Date:   Tue, 29 Sep 2015 11:47:18 +0200

Test if 'parsedRequest.method' and 'parsedRequest.protocol' exist before attempting to process them

Diffstat:
Msrc/logswan.c | 17++++++++++-------
1 file changed, 10 insertions(+), 7 deletions(-)

diff --git a/src/logswan.c b/src/logswan.c @@ -173,19 +173,22 @@ int main (int argc, char *argv[]) { /* Parse request */ parseRequest(&parsedRequest, parsedLine.resource); - for (int loop = 0; loop<9; loop++) { - if (!strcmp(methods[loop], parsedRequest.method)) { - results.methods[loop] ++; + if (parsedRequest.method) { + for (int loop = 0; loop<9; loop++) { + if (!strcmp(methods[loop], parsedRequest.method)) { + results.methods[loop] ++; + } } } - for (int loop = 0; loop<2; loop++) { - if (!strcmp(protocols[loop], parsedRequest.protocol)) { - results.protocols[loop] ++; + if (parsedRequest.protocol) { + for (int loop = 0; loop<2; loop++) { + if (!strcmp(protocols[loop], parsedRequest.protocol)) { + results.protocols[loop] ++; + } } } - /* Count HTTP status codes occurences */ if (parsedLine.statusCode) { statusCode = strtonum(parsedLine.statusCode, 0, STATUS_CODE_MAX-1, &errstr);