[nginx] Added ngx_init_setproctitle() return code check.

Maxim Dounin mdounin at mdounin.ru
Mon Sep 8 20:28:02 UTC 2014


details:   http://hg.nginx.org/nginx/rev/16013b71feed
branches:  
changeset: 5826:16013b71feed
user:      Maxim Dounin <mdounin at mdounin.ru>
date:      Mon Sep 08 21:36:09 2014 +0400
description:
Added ngx_init_setproctitle() return code check.

The ngx_init_setproctitle() function, as used on systems without
setproctitle(3), may fail due to memory allocation errors, and
therefore its return code needs to be checked.

Reported by Markus Linnala.

diffstat:

 src/os/unix/ngx_posix_init.c   |  4 +++-
 src/os/unix/ngx_setproctitle.h |  4 ++--
 2 files changed, 5 insertions(+), 3 deletions(-)

diffs (35 lines):

diff --git a/src/os/unix/ngx_posix_init.c b/src/os/unix/ngx_posix_init.c
--- a/src/os/unix/ngx_posix_init.c
+++ b/src/os/unix/ngx_posix_init.c
@@ -40,7 +40,9 @@ ngx_os_init(ngx_log_t *log)
     }
 #endif
 
-    ngx_init_setproctitle(log);
+    if (ngx_init_setproctitle(log) != NGX_OK) {
+        return NGX_ERROR;
+    }
 
     ngx_pagesize = getpagesize();
     ngx_cacheline_size = NGX_CPU_CACHE_LINE;
diff --git a/src/os/unix/ngx_setproctitle.h b/src/os/unix/ngx_setproctitle.h
--- a/src/os/unix/ngx_setproctitle.h
+++ b/src/os/unix/ngx_setproctitle.h
@@ -13,7 +13,7 @@
 
 /* FreeBSD, NetBSD, OpenBSD */
 
-#define ngx_init_setproctitle(log)
+#define ngx_init_setproctitle(log) NGX_OK
 #define ngx_setproctitle(title)    setproctitle("%s", title)
 
 
@@ -39,7 +39,7 @@ void ngx_setproctitle(char *title);
 
 #else
 
-#define ngx_init_setproctitle(log)
+#define ngx_init_setproctitle(log) NGX_OK
 #define ngx_setproctitle(title)
 
 #endif /* OSes */



More information about the nginx-devel mailing list