]> granicus.if.org Git - strace/commitdiff
Fix printing of invalid struct sembuf.sem_flg
authorDmitry V. Levin <ldv@altlinux.org>
Mon, 16 May 2016 22:00:46 +0000 (22:00 +0000)
committerDmitry V. Levin <ldv@altlinux.org>
Mon, 16 May 2016 22:41:19 +0000 (22:41 +0000)
* ipc_sem.c (print_sembuf): Explicitly cast struct sembuf.sem_flg
to unsigned short to avoid potential sign-extension bug when printing
invalid struct sembuf.sem_flg.

ipc_sem.c

index 5b36e76b82604646475bb8d6b1634e0f75fd2034..ba21b7bb9f1c93499f82929fe0e5ca2d21f9ab51 100644 (file)
--- a/ipc_sem.c
+++ b/ipc_sem.c
@@ -49,7 +49,7 @@ print_sembuf(struct tcb *tcp, void *elem_buf, size_t elem_size, void *data)
        const struct sembuf *sb = elem_buf;
 
        tprintf("{%u, %d, ", sb->sem_num, sb->sem_op);
-       printflags(semop_flags, sb->sem_flg, "SEM_???");
+       printflags(semop_flags, (unsigned short) sb->sem_flg, "SEM_???");
        tprints("}");
 
        return true;