diff options
| author | sevan <sevan@NetBSD.org> | 2018-05-04 19:45:27 +0000 |
|---|---|---|
| committer | sevan <sevan@NetBSD.org> | 2018-05-04 19:45:27 +0000 |
| commit | 923a1e92560251072c2b79dcce01257ca8f26e8a (patch) | |
| tree | 188b966e34298ee5b1de3c0ff902e2ec264925d3 /libexec/httpd/lua/glue.c | |
| parent | b3ca58d665e1fad7de7f6f502aaacc9edaed538c (diff) | |
Do not try and process empty requests. This resolves a crash when issuing a
carriage return to read_request() in foreground mode.
In the C daemon, a NULL check is performed on bozo_read_request in main.c
before moving on to bozo_process_request & bozo_clean_request. Here,
process_request & clean_request just return instead.
Diffstat (limited to 'libexec/httpd/lua/glue.c')
| -rw-r--r-- | libexec/httpd/lua/glue.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/libexec/httpd/lua/glue.c b/libexec/httpd/lua/glue.c index 9752eb62207..28c5c834959 100644 --- a/libexec/httpd/lua/glue.c +++ b/libexec/httpd/lua/glue.c @@ -155,6 +155,9 @@ l_bozo_process_request(lua_State *L) bozo_httpreq_t *req; req = lua_touserdata(L, 1); + if (req == NULL) { + return 0; + } bozo_process_request(req); lua_pushnumber(L, 1); return 1; @@ -167,6 +170,9 @@ l_bozo_clean_request(lua_State *L) bozo_httpreq_t *req; req = lua_touserdata(L, 1); + if (req == NULL) { + return 0; + } bozo_clean_request(req); lua_pushnumber(L, 1); return 1; |
