Mercurial > hg > nginx
view src/os/unix/ngx_setproctitle.h @ 5050:f9a29f401770 stable-1.2
Merge of r4983: crypt_r() error handling fixed.
The crypt_r() function returns NULL on errors, check it explicitly instead
of assuming errno will remain 0 if there are no errors (per POSIX, the
setting of errno after a successful call to a function is unspecified
unless the description of that function specifies that errno shall not
be modified).
Additionally, dropped unneeded ngx_set_errno(0) and fixed error handling
of memory allocation after normal crypt(), which was inapropriate and
resulted in null pointer dereference on allocation failures.
author | Maxim Dounin <mdounin@mdounin.ru> |
---|---|
date | Mon, 11 Feb 2013 12:37:06 +0000 |
parents | d620f497c50f |
children | 16013b71feed |
line wrap: on
line source
/* * Copyright (C) Igor Sysoev * Copyright (C) Nginx, Inc. */ #ifndef _NGX_SETPROCTITLE_H_INCLUDED_ #define _NGX_SETPROCTITLE_H_INCLUDED_ #if (NGX_HAVE_SETPROCTITLE) /* FreeBSD, NetBSD, OpenBSD */ #define ngx_init_setproctitle(log) #define ngx_setproctitle(title) setproctitle("%s", title) #else /* !NGX_HAVE_SETPROCTITLE */ #if !defined NGX_SETPROCTITLE_USES_ENV #if (NGX_SOLARIS) #define NGX_SETPROCTITLE_USES_ENV 1 #define NGX_SETPROCTITLE_PAD ' ' ngx_int_t ngx_init_setproctitle(ngx_log_t *log); void ngx_setproctitle(char *title); #elif (NGX_LINUX) || (NGX_DARWIN) #define NGX_SETPROCTITLE_USES_ENV 1 #define NGX_SETPROCTITLE_PAD '\0' ngx_int_t ngx_init_setproctitle(ngx_log_t *log); void ngx_setproctitle(char *title); #else #define ngx_init_setproctitle(log) #define ngx_setproctitle(title) #endif /* OSes */ #endif /* NGX_SETPROCTITLE_USES_ENV */ #endif /* NGX_HAVE_SETPROCTITLE */ #endif /* _NGX_SETPROCTITLE_H_INCLUDED_ */