From d506823d4f21f67d2c388e79982ebac170bce3e3 Mon Sep 17 00:00:00 2001 From: Thomas Haller Date: Wed, 1 Apr 2020 12:50:53 +0200 Subject: [PATCH] initrd: fix setting VLan ID in reader_parse_vlan() g_ascii_strtoull() returns a guint64, which is very wrong to directly pass to the variadic argument list of g_object_set(). We expect a guint there and need to cast. While at it, use _nm_utils_ascii_str_to_int64() to parse and validate the input. --- src/initrd/nmi-cmdline-reader.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/initrd/nmi-cmdline-reader.c b/src/initrd/nmi-cmdline-reader.c index 41b063132..2eb6d7e5b 100644 --- a/src/initrd/nmi-cmdline-reader.c +++ b/src/initrd/nmi-cmdline-reader.c @@ -719,7 +719,7 @@ reader_parse_vlan (Reader *reader, char *argument) s_vlan = nm_connection_get_setting_vlan (connection); g_object_set (s_vlan, NM_SETTING_VLAN_PARENT, phy, - NM_SETTING_VLAN_ID, g_ascii_strtoull (vlanid, NULL, 10), + NM_SETTING_VLAN_ID, (guint) _nm_utils_ascii_str_to_int64 (vlanid, 10, 0, G_MAXUINT, G_MAXUINT), NULL); if (argument && *argument)