chiark / gitweb /
sd-rtnl: link flags - don't allow change = 0
authorTom Gundersen <teg@jklm.no>
Fri, 14 Feb 2014 11:15:26 +0000 (12:15 +0100)
committerTom Gundersen <teg@jklm.no>
Sat, 15 Feb 2014 11:14:45 +0000 (12:14 +0100)
The kernel will happily treat 0x0 as 0xffffffff, but it is for backwards
compatibility only, so let's not perpetuate this.

src/libsystemd/sd-rtnl/rtnl-message.c

index c780f71881abf407b447ab2ac30ec916fa363091..226329f314d82dab3017b02b8986e056adc6ed6f 100644 (file)
@@ -119,14 +119,12 @@ int sd_rtnl_message_link_set_flags(sd_rtnl_message *m, unsigned flags, unsigned
         assert_return(m, -EINVAL);
         assert_return(m->hdr, -EINVAL);
         assert_return(rtnl_message_type_is_link(m->hdr->nlmsg_type), -EINVAL);
         assert_return(m, -EINVAL);
         assert_return(m->hdr, -EINVAL);
         assert_return(rtnl_message_type_is_link(m->hdr->nlmsg_type), -EINVAL);
+        assert_return(change, -EINVAL);
 
         ifi = NLMSG_DATA(m->hdr);
 
         ifi->ifi_flags = flags;
 
         ifi = NLMSG_DATA(m->hdr);
 
         ifi->ifi_flags = flags;
-        if (change)
-                ifi->ifi_change = change;
-        else
-                ifi->ifi_change = 0xffffffff;
+        ifi->ifi_change = change;
 
         return 0;
 }
 
         return 0;
 }