diff --git a/plugins/psgi/psgi_response.c b/plugins/psgi/psgi_response.c index b5c5614f..b2a81a09 100644 --- a/plugins/psgi/psgi_response.c +++ b/plugins/psgi/psgi_response.c @@ -68,7 +68,7 @@ int psgi_response(struct wsgi_request *wsgi_req, AV *response) { hitem = av_fetch(response, 1, 0); - if (!hitem) { uwsgi_log("invalid PSGI headers\n"); return UWSGI_OK;} + if (!hitem || SvTYPE(*hitem) != SVt_PVAV) { uwsgi_log("invalid PSGI headers\n"); return UWSGI_OK;} headers = (AV *) SvRV(*hitem); if (!headers) { uwsgi_log("invalid PSGI headers\n"); return UWSGI_OK;}