diff --git a/http.c b/http.c index 699fd98b..2ecf7bdc 100644 --- a/http.c +++ b/http.c @@ -1120,10 +1120,13 @@ int evhttp_add_header(struct evkeyvalq *headers, const char *key, const char *value) { - struct evkeyval *header; + struct evkeyval *header = NULL; - if (strchr(value, "\r") != NULL || strchr(value, "\n") != NULL) { + event_debug(("%s: key: %s val: %s\n", __func__, key, value)); + + if (strchr(value, '\r') != NULL || strchr(value, '\n') != NULL) { /* drop illegal headers */ + event_debug(("%s: dropping illegal header\n")); return (-1); } diff --git a/test/regress_http.c b/test/regress_http.c index 5c6714c6..2553ada9 100644 --- a/test/regress_http.c +++ b/test/regress_http.c @@ -517,6 +517,11 @@ http_postrequest_done(struct evhttp_request *req, void *arg) { const char *what = "This is funny"; + if (req == NULL) { + fprintf(stderr, "FAILED (timeout)\n"); + exit(1); + } + if (req->response_code != HTTP_OK) { fprintf(stderr, "FAILED (response code)\n");