X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=libudev%2Flibudev-device.c;h=b841745991effca0a32ac69ee7b1d70c36129d3f;hb=3c4b1738a9d591d7ddce361ea184b76b253c4e87;hp=71fc775242e81ccad7f3cc930bd772f0649adbe0;hpb=58b533f417307fb66ce11fa8ad4a873c1953ae41;p=elogind.git diff --git a/libudev/libudev-device.c b/libudev/libudev-device.c index 71fc77524..b84174599 100644 --- a/libudev/libudev-device.c +++ b/libudev/libudev-device.c @@ -1089,7 +1089,7 @@ struct udev_list_entry *udev_device_add_property(struct udev_device *udev_device struct udev_list_entry *udev_device_add_property_from_string(struct udev_device *udev_device, const char *property) { - char name[UTIL_PATH_SIZE]; + char name[UTIL_LINE_SIZE]; char *val; util_strscpy(name, sizeof(name), property); @@ -1166,7 +1166,9 @@ static int update_envp_monitor_buf(struct udev_device *udev_device) l = util_strpcpyl(&s, l, key, "=", udev_list_entry_get_value(list_entry), NULL); if (l == 0) return -EINVAL; + /* advance past the trailing '\0' that util_strpcpyl() guarantees */ s++; + l--; } udev_device->envp[i] = NULL; udev_device->monitor_buf_len = s - udev_device->monitor_buf;