From 188d0c0f5b64f1904056129e1fea27ea6b95cf1b Mon Sep 17 00:00:00 2001 From: Maxim Dounin Date: Fri, 29 Mar 2013 17:51:00 +0000 Subject: [PATCH] Merge of r5117, r5123: allocation errors handing during upgrade. *) Core: guard against failed allocation during binary upgrade. Patch by Piotr Sikora. *) Core: fixed resource leak if binary upgrade fails due to no memory. Found by Coverity (CID 992320). --- src/core/nginx.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/core/nginx.c b/src/core/nginx.c index d02f9111d..045977691 100644 --- a/src/core/nginx.c +++ b/src/core/nginx.c @@ -594,6 +594,10 @@ ngx_exec_new_binary(ngx_cycle_t *cycle, char *const *argv) var = ngx_alloc(sizeof(NGINX_VAR) + cycle->listening.nelts * (NGX_INT32_LEN + 1) + 2, cycle->log); + if (var == NULL) { + ngx_free(env); + return NGX_INVALID_PID; + } p = ngx_cpymem(var, NGINX_VAR "=", sizeof(NGINX_VAR));