[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-trivial] [PULL 05/15] slirp/arp_table.c: Avoid shifting into sign
From: |
Michael Tokarev |
Subject: |
[Qemu-trivial] [PULL 05/15] slirp/arp_table.c: Avoid shifting into sign bit of signed integers |
Date: |
Mon, 2 Sep 2013 15:01:25 +0400 |
From: Peter Maydell <address@hidden>
"0xf << 28" shifts right into the sign bit, since 0xf is a signed
integer. Use the 'U' suffix to force an unsigned shift to avoid
this undefined behaviour and a clang sanitizer warning.
Signed-off-by: Peter Maydell <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Acked-by: Jan Kiszka <address@hidden>
Signed-off-by: Michael Tokarev <address@hidden>
---
slirp/arp_table.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/slirp/arp_table.c b/slirp/arp_table.c
index bf698c1..ecdb0ba 100644
--- a/slirp/arp_table.c
+++ b/slirp/arp_table.c
@@ -38,7 +38,7 @@ void arp_table_add(Slirp *slirp, uint32_t ip_addr, uint8_t
ethaddr[ETH_ALEN])
ethaddr[3], ethaddr[4], ethaddr[5]));
/* Check 0.0.0.0/8 invalid source-only addresses */
- if ((ip_addr & htonl(~(0xf << 28))) == 0) {
+ if ((ip_addr & htonl(~(0xfU << 28))) == 0) {
return;
}
@@ -74,7 +74,7 @@ bool arp_table_search(Slirp *slirp, uint32_t ip_addr,
DEBUG_ARG("ip = 0x%x", ip_addr);
/* Check 0.0.0.0/8 invalid source-only addresses */
- assert((ip_addr & htonl(~(0xf << 28))) != 0);
+ assert((ip_addr & htonl(~(0xfU << 28))) != 0);
/* If broadcast address */
if (ip_addr == 0xffffffff || ip_addr == broadcast_addr) {
--
1.7.10.4
- [Qemu-trivial] [PULL 00/15] Trivial patches for 2013-09-02, Michael Tokarev, 2013/09/02
- [Qemu-trivial] [PULL 01/15] slirp: Port redirection option behave differently on Linux and Windows, Michael Tokarev, 2013/09/02
- [Qemu-trivial] [PULL 02/15] misc: Fix some typos in names and comments, Michael Tokarev, 2013/09/02
- [Qemu-trivial] [PULL 04/15] configure: disable clang -Wstring-plus-int warning, Michael Tokarev, 2013/09/02
- [Qemu-trivial] [PULL 03/15] rdma: silly ipv6 bugfix, Michael Tokarev, 2013/09/02
- [Qemu-trivial] [PULL 08/15] configure: Remove unneeded redirections of stderr (pkg-config --cflags, --libs), Michael Tokarev, 2013/09/02
- [Qemu-trivial] [PULL 11/15] target-arm: Report unimplemented opcodes (LOG_UNIMP), Michael Tokarev, 2013/09/02
- [Qemu-trivial] [PULL 12/15] tci: Remove function tcg_out64 (fix broken build), Michael Tokarev, 2013/09/02
- [Qemu-trivial] [PULL 05/15] slirp/arp_table.c: Avoid shifting into sign bit of signed integers,
Michael Tokarev <=
- [Qemu-trivial] [PULL 13/15] qmp: fix integer usage in examples, Michael Tokarev, 2013/09/02
- [Qemu-trivial] [PULL 07/15] configure: Don't write .pyc files by default (python -B), Michael Tokarev, 2013/09/02
- [Qemu-trivial] [PULL 10/15] pflash_cfi02.c: fix debug macro, Michael Tokarev, 2013/09/02
- [Qemu-trivial] [PULL 14/15] adlib: sort offsets in portio registration, Michael Tokarev, 2013/09/02
- [Qemu-trivial] [PULL 15/15] aio / timers: use g_usleep() not sleep(), Michael Tokarev, 2013/09/02
- [Qemu-trivial] [PULL 09/15] configure: Remove unneeded redirections of stderr (pkg-config --exists), Michael Tokarev, 2013/09/02
- [Qemu-trivial] [PULL 06/15] curl: qemu_bh_new() can never return NULL, Michael Tokarev, 2013/09/02