From 4d47756b8fa5eb6bc75b7aa2345eb31e6bc10e9a Mon Sep 17 00:00:00 2001 From: Tom Gundersen Date: Thu, 19 Dec 2013 21:28:50 +0100 Subject: [PATCH] rtnl: correctly get the size of data to be appended This fixes: systemd[1]: Failed to configure loopback device: Numerical result out of range --- src/libsystemd-rtnl/rtnl-message.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/libsystemd-rtnl/rtnl-message.c b/src/libsystemd-rtnl/rtnl-message.c index c62eca9fa..24f2e6f24 100644 --- a/src/libsystemd-rtnl/rtnl-message.c +++ b/src/libsystemd-rtnl/rtnl-message.c @@ -447,7 +447,7 @@ int sd_rtnl_message_append_u32(sd_rtnl_message *m, unsigned short type, uint32_t return -ENOTSUP; } - r = add_rtattr(m, type, &data, sizeof(&data)); + r = add_rtattr(m, type, &data, sizeof(uint32_t)); if (r < 0) return r; @@ -508,7 +508,7 @@ int sd_rtnl_message_append_in_addr(sd_rtnl_message *m, unsigned short type, cons return -ENOTSUP; } - r = add_rtattr(m, type, data, sizeof(data)); + r = add_rtattr(m, type, data, sizeof(struct in_addr)); if (r < 0) return r; @@ -568,7 +568,7 @@ int sd_rtnl_message_append_in6_addr(sd_rtnl_message *m, unsigned short type, con return -ENOTSUP; } - r = add_rtattr(m, type, data, sizeof(data)); + r = add_rtattr(m, type, data, sizeof(struct in6_addr)); if (r < 0) return r; -- 2.30.2