diff options
author | Sergey Poznyakoff <gray@gnu.org> | 2018-04-24 22:29:44 +0300 |
---|---|---|
committer | Sergey Poznyakoff <gray@gnu.org> | 2018-04-24 22:29:44 +0300 |
commit | b2156c559a91ad4eed241d6a624a8ecfac576174 (patch) | |
tree | 2984347856fb6a77a3cb86beab9a168353a0be46 | |
parent | 56edbac842e7a8cd256bf099715265a793c92d55 (diff) | |
download | fileserv-b2156c559a91ad4eed241d6a624a8ecfac576174.tar.gz fileserv-b2156c559a91ad4eed241d6a624a8ecfac576174.tar.bz2 |
Minor fix
* fileserv.c (http_log): Avoid dereferencing NULL pointers.
-rw-r--r-- | src/fileserv.c | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/src/fileserv.c b/src/fileserv.c index 58262c3..568ba37 100644 --- a/src/fileserv.c +++ b/src/fileserv.c | |||
@@ -509,6 +509,12 @@ get_file_resp(struct MHD_Connection *conn, char const *url, FILE_RESP *resp) | |||
509 | return MHD_HTTP_OK; | 509 | return MHD_HTTP_OK; |
510 | } | 510 | } |
511 | 511 | ||
512 | static inline char const * | ||
513 | safestr(char const *s) | ||
514 | { | ||
515 | return s ? s : "-"; | ||
516 | } | ||
517 | |||
512 | void | 518 | void |
513 | http_log(struct MHD_Connection *connection, | 519 | http_log(struct MHD_Connection *connection, |
514 | char const *method, char const *url, | 520 | char const *method, char const *url, |
@@ -537,9 +543,8 @@ http_log(struct MHD_Connection *connection, | |||
537 | strftime(tbuf, sizeof(tbuf), "[%d/%b/%Y:%H:%M:%S %z]", tm); | 543 | strftime(tbuf, sizeof(tbuf), "[%d/%b/%Y:%H:%M:%S %z]", tm); |
538 | 544 | ||
539 | info("%s %s - - %s \"%s %s\" %3d %lu \"%s\" \"%s\"", | 545 | info("%s %s - - %s \"%s %s\" %3d %lu \"%s\" \"%s\"", |
540 | host, ipstr, tbuf, method, url, status, st ? st->st_size : 0, | 546 | safestr(host), ipstr, tbuf, method, url, status, |
541 | referer ? referer : "", | 547 | st ? st->st_size : 0, safestr(referer), safestr(user_agent)); |
542 | user_agent ? user_agent : ""); | ||
543 | free(ipstr); | 548 | free(ipstr); |
544 | } | 549 | } |
545 | 550 | ||