[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PULL 26/37] net: Zero sockaddr_in in parse_host_port()
From: |
Peter Maydell |
Subject: |
[PULL 26/37] net: Zero sockaddr_in in parse_host_port() |
Date: |
Thu, 26 Aug 2021 18:02:56 +0100 |
We don't currently zero-initialize the 'struct sockaddr_in' that
parse_host_port() fills in, so any fields we don't explicitly
initialize might be left as random garbage. POSIX states that
implementations may define extensions in sockaddr_in, and that those
extensions must not trigger if zero-initialized. So not zero
initializing might result in inadvertently triggering an impdef
extension.
memset() the sockaddr_in before we start to fill it in.
Fixes: Coverity CID 1005338
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Eric Blake <eblake@redhat.com>
Message-id: 20210813150506.7768-2-peter.maydell@linaro.org
---
net/net.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/net/net.c b/net/net.c
index 76bbb7c31b4..52c99196c69 100644
--- a/net/net.c
+++ b/net/net.c
@@ -75,6 +75,8 @@ int parse_host_port(struct sockaddr_in *saddr, const char
*str,
const char *addr, *p, *r;
int port, ret = 0;
+ memset(saddr, 0, sizeof(*saddr));
+
substrings = g_strsplit(str, ":", 2);
if (!substrings || !substrings[0] || !substrings[1]) {
error_setg(errp, "host address '%s' doesn't contain ':' "
--
2.20.1
- [PULL 11/37] docs/specs/acpi_mem_hotplug: Convert to rST, (continued)
- [PULL 11/37] docs/specs/acpi_mem_hotplug: Convert to rST, Peter Maydell, 2021/08/26
- [PULL 16/37] monitor: Use accel_find("kvm") instead of kvm_available(), Peter Maydell, 2021/08/26
- [PULL 17/37] softmmu/arch_init.c: Trim down include list, Peter Maydell, 2021/08/26
- [PULL 19/37] arch_init.h: Add QEMU_ARCH_HEXAGON, Peter Maydell, 2021/08/26
- [PULL 20/37] arch_init.h: Move QEMU_ARCH_VIRTIO_* to qdev-monitor.c, Peter Maydell, 2021/08/26
- [PULL 18/37] meson.build: Define QEMU_ARCH in config-target.h, Peter Maydell, 2021/08/26
- [PULL 22/37] stubs: Remove unused arch_type.c stub, Peter Maydell, 2021/08/26
- [PULL 21/37] arch_init.h: Don't include arch_init.h unnecessarily, Peter Maydell, 2021/08/26
- [PULL 24/37] softmmu/physmem.c: Remove unneeded NULL check in qemu_ram_alloc_from_fd(), Peter Maydell, 2021/08/26
- [PULL 23/37] hw/core/loader: In gunzip(), check index is in range before use, not after, Peter Maydell, 2021/08/26
- [PULL 26/37] net: Zero sockaddr_in in parse_host_port(),
Peter Maydell <=
- [PULL 30/37] raspi: Use error_fatal for SoC realize errors, not error_abort, Peter Maydell, 2021/08/26
- [PULL 28/37] tests/qtest/ipmi-bt-test: Zero-initialize sockaddr struct, Peter Maydell, 2021/08/26
- [PULL 32/37] hw/arm/virt: Delete EL3 error checksnow provided in CPU realize, Peter Maydell, 2021/08/26
- [PULL 27/37] gdbstub: Zero-initialize sockaddr structs, Peter Maydell, 2021/08/26
- [PULL 29/37] tests/tcg/multiarch/linux-test: Zero-initialize sockaddr structs, Peter Maydell, 2021/08/26
- [PULL 25/37] softmmu/physmem.c: Check return value from realpath(), Peter Maydell, 2021/08/26
- [PULL 33/37] target/arm: Implement HSTR.TTEE, Peter Maydell, 2021/08/26
- [PULL 36/37] hw/arm/xlnx-versal: Add unimplemented APU mmio, Peter Maydell, 2021/08/26
- [PULL 35/37] target/arm: Do hflags rebuild in cpsr_write(), Peter Maydell, 2021/08/26