diff --git a/mongoose.c b/mongoose.c index 6236b2fd..21f6220f 100644 --- a/mongoose.c +++ b/mongoose.c @@ -6160,7 +6160,7 @@ int mg_parse_http(const char *s, int n, struct http_message *hm, int is_req) { struct mg_str *mg_get_http_header(struct http_message *hm, const char *name) { size_t i, len = strlen(name); - for (i = 0; hm->header_names[i].len > 0; i++) { + for (i = 0; i < MG_MAX_HTTP_HEADERS && hm->header_names[i].len > 0; i++) { struct mg_str *h = &hm->header_names[i], *v = &hm->header_values[i]; if (h->p != NULL && h->len == len && !mg_ncasecmp(h->p, name, len)) return v; diff --git a/src/mg_http.c b/src/mg_http.c index 39bf78bf..2c52ff12 100644 --- a/src/mg_http.c +++ b/src/mg_http.c @@ -509,7 +509,7 @@ int mg_parse_http(const char *s, int n, struct http_message *hm, int is_req) { struct mg_str *mg_get_http_header(struct http_message *hm, const char *name) { size_t i, len = strlen(name); - for (i = 0; hm->header_names[i].len > 0; i++) { + for (i = 0; i < MG_MAX_HTTP_HEADERS && hm->header_names[i].len > 0; i++) { struct mg_str *h = &hm->header_names[i], *v = &hm->header_values[i]; if (h->p != NULL && h->len == len && !mg_ncasecmp(h->p, name, len)) return v;