]> git.ipfire.org Git - thirdparty/util-linux.git/commitdiff
ipcs: fix two data type errors [AddressSanitizer]
authorSami Kerola <kerolasa@iki.fi>
Tue, 25 Nov 2014 20:04:44 +0000 (20:04 +0000)
committerKarel Zak <kzak@redhat.com>
Fri, 19 Dec 2014 10:32:38 +0000 (11:32 +0100)
==3218==ERROR: AddressSanitizer: stack-buffer-overflow on address 0x7fffa577e2b0 at pc 0x4501f9 bp 0x7fffa577e130 sp 0x7fffa577e108
WRITE of size 112 at 0x7fffa577e2b0 thread T0
    #0 0x4501f8 in shmctl /home/users/aadgrand/LLVM/releases/ubuntu/final/llvm.src/projects/compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors.inc:2502
    #1 0x48bd13 in ipc_shm_get_info /home/travis/build/kerolasa/lelux-utiliteetit/sys-utils/ipcutils.c:157
    #2 0x488884 in do_shm /home/travis/build/kerolasa/lelux-utiliteetit/sys-utils/ipcs.c:279
    #3 0x4844a8 in main /home/travis/build/kerolasa/lelux-utiliteetit/sys-utils/ipcs.c:175
    #4 0x2afb3f8c176c (/lib/x86_64-linux-gnu/libc.so.6+0x2176c)
    #5 0x48408c in _start (/home/travis/build/kerolasa/lelux-utiliteetit/ipcs+0x48408c)

Signed-off-by: Sami Kerola <kerolasa@iki.fi>
sys-utils/ipcutils.c

index c45162ad8ce9a664390469ff44dbe7bacbbc344d..3d5249c939ae5ec097d45adb102fe9e9353c41ee 100644 (file)
@@ -98,7 +98,7 @@ int ipc_shm_get_info(int id, struct shm_data **shmds)
        FILE *f;
        int i = 0, maxid;
        struct shm_data *p;
-       struct shm_info dummy;
+       struct shmid_ds dummy;
 
        p = *shmds = xcalloc(1, sizeof(struct shm_data));
        p->next = NULL;
@@ -154,7 +154,7 @@ int ipc_shm_get_info(int id, struct shm_data **shmds)
 
        /* Fallback; /proc or /sys file(s) missing. */
 shm_fallback:
-       maxid = shmctl(0, SHM_INFO, (struct shmid_ds *) &dummy);
+       maxid = shmctl(0, SHM_INFO, &dummy);
 
        for (int j = 0; j <= maxid; j++) {
                int shmid;