]> git.kaiwu.me - nginx.git/commitdiff
Merge of r5117, r5123: allocation errors handing during upgrade.
authorMaxim Dounin <mdounin@mdounin.ru>
Fri, 29 Mar 2013 17:51:00 +0000 (17:51 +0000)
committerMaxim Dounin <mdounin@mdounin.ru>
Fri, 29 Mar 2013 17:51:00 +0000 (17:51 +0000)
*) 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

index d02f9111df8450d38c5a4200c0c34ee58a197460..0459776910cb030e6b96dd58e83afdc5be1cc8be 100644 (file)
@@ -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));