The following issues were found
src/os/unix/ngx_freebsd_init.c
3 issues
Line: 92
Column: 10
CWE codes:
807
20
Suggestion:
Check environment variables carefully before using them
#else
char *mo;
mo = getenv("MALLOC_OPTIONS");
if (mo && ngx_strchr(mo, 'J')) {
ngx_debug_malloc = 1;
}
#endif
Reported by FlawFinder.
Line: 13
Column: 1
CWE codes:
119
120
Suggestion:
Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length
/* FreeBSD 3.0 at least */
char ngx_freebsd_kern_ostype[16];
char ngx_freebsd_kern_osrelease[128];
int ngx_freebsd_kern_osreldate;
int ngx_freebsd_hw_ncpu;
int ngx_freebsd_kern_ipc_somaxconn;
u_long ngx_freebsd_net_inet_tcp_sendspace;
Reported by FlawFinder.
Line: 14
Column: 1
CWE codes:
119
120
Suggestion:
Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length
/* FreeBSD 3.0 at least */
char ngx_freebsd_kern_ostype[16];
char ngx_freebsd_kern_osrelease[128];
int ngx_freebsd_kern_osreldate;
int ngx_freebsd_hw_ncpu;
int ngx_freebsd_kern_ipc_somaxconn;
u_long ngx_freebsd_net_inet_tcp_sendspace;
Reported by FlawFinder.
src/core/ngx_string.h
3 issues
Line: 106
Column: 42
CWE codes:
120
Suggestion:
Make sure destination can always hold the source data
* gcc3 compiles memcpy(d, s, 4) to the inline "mov"es.
* icc8 compile memcpy(d, s, 4) to the inline "mov"es or XMM moves.
*/
#define ngx_memcpy(dst, src, n) (void) memcpy(dst, src, n)
#define ngx_cpymem(dst, src, n) (((u_char *) memcpy(dst, src, n)) + (n))
#endif
Reported by FlawFinder.
Line: 107
Column: 48
CWE codes:
120
Suggestion:
Make sure destination can always hold the source data
* icc8 compile memcpy(d, s, 4) to the inline "mov"es or XMM moves.
*/
#define ngx_memcpy(dst, src, n) (void) memcpy(dst, src, n)
#define ngx_cpymem(dst, src, n) (((u_char *) memcpy(dst, src, n)) + (n))
#endif
#if ( __INTEL_COMPILER >= 800 )
Reported by FlawFinder.
Line: 61
Column: 29
CWE codes:
126
#define ngx_strstr(s1, s2) strstr((const char *) s1, (const char *) s2)
#define ngx_strlen(s) strlen((const char *) s)
size_t ngx_strnlen(u_char *p, size_t n);
#define ngx_strchr(s1, c) strchr((const char *) s1, (int) c)
Reported by FlawFinder.
src/os/unix/ngx_solaris_init.c
3 issues
Line: 12
Column: 1
CWE codes:
119
120
Suggestion:
Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length
#include <ngx_core.h>
char ngx_solaris_sysname[20];
char ngx_solaris_release[10];
char ngx_solaris_version[50];
static ngx_os_io_t ngx_solaris_io = {
Reported by FlawFinder.
Line: 13
Column: 1
CWE codes:
119
120
Suggestion:
Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length
char ngx_solaris_sysname[20];
char ngx_solaris_release[10];
char ngx_solaris_version[50];
static ngx_os_io_t ngx_solaris_io = {
ngx_unix_recv,
Reported by FlawFinder.
Line: 14
Column: 1
CWE codes:
119
120
Suggestion:
Perform bounds checking, use functions that limit length, or ensure that the size is larger than the maximum possible length
char ngx_solaris_sysname[20];
char ngx_solaris_release[10];
char ngx_solaris_version[50];
static ngx_os_io_t ngx_solaris_io = {
ngx_unix_recv,
ngx_readv_chain,
Reported by FlawFinder.
src/os/win32/ngx_files.h
3 issues
Line: 72
Column: 73
CWE codes:
362/367!
Suggestion:
Set up the correct permissions (e.g., using setuid()) and try to open the file directly
#define NGX_FILE_ERROR 0
ngx_fd_t ngx_open_file(u_char *name, u_long mode, u_long create, u_long access);
#define ngx_open_file_n "CreateFile()"
#define NGX_FILE_RDONLY GENERIC_READ
#define NGX_FILE_WRONLY GENERIC_WRITE
#define NGX_FILE_RDWR GENERIC_READ|GENERIC_WRITE
Reported by FlawFinder.
Line: 89
Column: 45
CWE codes:
362/367!
Suggestion:
Set up the correct permissions (e.g., using setuid()) and try to open the file directly
#define NGX_FILE_OWNER_ACCESS 0
#define ngx_open_tempfile(name, persistent, access) \
CreateFile((const char *) name, \
GENERIC_READ|GENERIC_WRITE, \
FILE_SHARE_READ|FILE_SHARE_WRITE|FILE_SHARE_DELETE, \
NULL, \
CREATE_NEW, \
Reported by FlawFinder.
Line: 197
Column: 30
CWE codes:
362/367!
Suggestion:
Set up the correct permissions (e.g., using setuid()) and try to open the file directly
#define ngx_close_dir_n "FindClose()"
#define ngx_create_dir(name, access) CreateDirectory((const char *) name, NULL)
#define ngx_create_dir_n "CreateDirectory()"
#define ngx_delete_dir(name) RemoveDirectory((const char *) name)
#define ngx_delete_dir_n "RemoveDirectory()"
Reported by FlawFinder.
src/mail/ngx_mail_auth_http_module.c
3 issues
Line: 225
Column: 41
CWE codes:
120
20
ctx->handler = ngx_mail_auth_http_ignore_status_line;
ngx_add_timer(ctx->peer.connection->read, ahcf->timeout);
ngx_add_timer(ctx->peer.connection->write, ahcf->timeout);
if (rc == NGX_OK) {
ngx_mail_auth_http_write_handler(ctx->peer.connection->write);
return;
Reported by FlawFinder.
src/event/ngx_event_accept.c
3 issues
src/event/modules/ngx_win32_poll_module.c
3 issues
Line: 381
Column: 21
CWE codes:
120
20
if ((revents & POLLIN) && c->read->active) {
found = 1;
ev = c->read;
ev->ready = 1;
ev->available = -1;
queue = ev->accept ? &ngx_posted_accept_events
: &ngx_posted_events;
Reported by FlawFinder.
src/event/modules/ngx_poll_module.c
3 issues
Line: 371
Column: 21
CWE codes:
120
20
if ((revents & POLLIN) && c->read->active) {
found = 1;
ev = c->read;
ev->ready = 1;
ev->available = -1;
queue = ev->accept ? &ngx_posted_accept_events
: &ngx_posted_events;
Reported by FlawFinder.
src/http/modules/ngx_http_limit_req_module.c
3 issues
Line: 314
Column: 39
CWE codes:
120
20
r->main->limit_req_status = NGX_HTTP_LIMIT_REQ_DELAYED;
if (r->connection->read->ready) {
ngx_post_event(r->connection->read, &ngx_posted_events);
} else {
if (ngx_handle_read_event(r->connection->read, 0) != NGX_OK) {
return NGX_HTTP_INTERNAL_SERVER_ERROR;
}
Reported by FlawFinder.
Line: 317
Column: 50
CWE codes:
120
20
ngx_post_event(r->connection->read, &ngx_posted_events);
} else {
if (ngx_handle_read_event(r->connection->read, 0) != NGX_OK) {
return NGX_HTTP_INTERNAL_SERVER_ERROR;
}
}
r->read_event_handler = ngx_http_test_reading;
Reported by FlawFinder.
Line: 351
Column: 46
CWE codes:
120
20
return;
}
if (ngx_handle_read_event(r->connection->read, 0) != NGX_OK) {
ngx_http_finalize_request(r, NGX_HTTP_INTERNAL_SERVER_ERROR);
return;
}
r->read_event_handler = ngx_http_block_reading;
Reported by FlawFinder.