diff --git a/src/devices/nm-device.c b/src/devices/nm-device.c index b8b4823f9f..afc81dcde7 100644 --- a/src/devices/nm-device.c +++ b/src/devices/nm-device.c @@ -5278,9 +5278,14 @@ tc_commit (NMDevice *self) if (action) { tfilter->action.kind = nm_tc_action_get_kind (action); if (strcmp (tfilter->action.kind, "simple") == 0) { - strncpy (tfilter->action.simple.sdata, - g_variant_get_bytestring (nm_tc_action_get_attribute (action, "sdata")), - sizeof (tfilter->action.simple.sdata)); + GVariant *sdata; + + sdata = nm_tc_action_get_attribute (action, "sdata"); + if (sdata && g_variant_is_of_type (sdata, G_VARIANT_TYPE_BYTESTRING)) { + g_strlcpy (tfilter->action.simple.sdata, + g_variant_get_bytestring (sdata), + sizeof (tfilter->action.simple.sdata)); + } } }