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:
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);