]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
network: fix UBSAN issue
authorYu Watanabe <watanabe.yu+github@gmail.com>
Mon, 3 Jun 2019 14:29:07 +0000 (23:29 +0900)
committerZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Tue, 4 Jun 2019 07:12:44 +0000 (09:12 +0200)
Closes #12724.

src/network/networkd-address.c

index 600bad474dcf507d18289cff93f64a525da9cac2..d6c6f5f27159198ad825e621f46a342886d7a23a 100644 (file)
@@ -787,7 +787,7 @@ int config_parse_address(const char *unit,
         else
                 n->in_addr_peer = buffer;
 
-        if (n->family == AF_INET && n->broadcast.s_addr == 0)
+        if (n->family == AF_INET && n->broadcast.s_addr == 0 && n->prefixlen <= 30)
                 n->broadcast.s_addr = n->in_addr.in.s_addr | htonl(0xfffffffflu >> n->prefixlen);
 
         n = NULL;