diff --git a/src/libsystemd/sd-device/device-private.c b/src/libsystemd/sd-device/device-private.c index 7cda48c4ca..9553938931 100644 --- a/src/libsystemd/sd-device/device-private.c +++ b/src/libsystemd/sd-device/device-private.c @@ -645,10 +645,6 @@ int device_rename(sd_device *device, const char *name) { if (r < 0) return r; - /* Here, only clear the sysname and sysnum. They will be set when requested. */ - device->sysnum = NULL; - device->sysname = mfree(device->sysname); - r = sd_device_get_property_value(device, "INTERFACE", &interface); if (r == -ENOENT) return 0; diff --git a/src/libsystemd/sd-device/sd-device.c b/src/libsystemd/sd-device/sd-device.c index 2fcdce7bac..f8a320ddda 100644 --- a/src/libsystemd/sd-device/sd-device.c +++ b/src/libsystemd/sd-device/sd-device.c @@ -249,6 +249,10 @@ int device_set_syspath(sd_device *device, const char *_syspath, bool verify) { free_and_replace(device->syspath, syspath); device->devpath = devpath; + + /* Unset sysname and sysnum, they will be assigned when requested. */ + device->sysnum = NULL; + device->sysname = mfree(device->sysname); return 0; }