# HG changeset patch
# User Maxim Dounin <mdou...@mdounin.ru>
# Date 1748209484 -10800
#      Mon May 26 00:44:44 2025 +0300
# Node ID 3e11162ed39312387fc79a731071b0a50aa15acc
# Parent  4eed7851024b4ca5d77107676025e84324e23c74
Adjusted mmap() type casts.

Type casting mmap() result explicitly to (u_char *) is only needed on
systems where mmap() returns caddr_t, but on these systems MAP_FAILED
also needs to be casted.  Added appropriate type casts.

diff --git a/src/os/unix/ngx_shmem.c b/src/os/unix/ngx_shmem.c
--- a/src/os/unix/ngx_shmem.c
+++ b/src/os/unix/ngx_shmem.c
@@ -18,7 +18,7 @@ ngx_shm_alloc(ngx_shm_t *shm)
                                 PROT_READ|PROT_WRITE,
                                 MAP_ANON|MAP_SHARED, -1, 0);
 
-    if (shm->addr == MAP_FAILED) {
+    if (shm->addr == (u_char *) MAP_FAILED) {
         ngx_log_error(NGX_LOG_ALERT, shm->log, ngx_errno,
                       "mmap(MAP_ANON|MAP_SHARED, %uz) failed", shm->size);
         return NGX_ERROR;
@@ -55,7 +55,7 @@ ngx_shm_alloc(ngx_shm_t *shm)
     shm->addr = (u_char *) mmap(NULL, shm->size, PROT_READ|PROT_WRITE,
                                 MAP_SHARED, fd, 0);
 
-    if (shm->addr == MAP_FAILED) {
+    if (shm->addr == (u_char *) MAP_FAILED) {
         ngx_log_error(NGX_LOG_ALERT, shm->log, ngx_errno,
                       "mmap(/dev/zero, MAP_SHARED, %uz) failed", shm->size);
     }
@@ -65,7 +65,7 @@ ngx_shm_alloc(ngx_shm_t *shm)
                       "close(\"/dev/zero\") failed");
     }
 
-    return (shm->addr == MAP_FAILED) ? NGX_ERROR : NGX_OK;
+    return (shm->addr == (u_char *) MAP_FAILED) ? NGX_ERROR : NGX_OK;
 }
 
 

Reply via email to