- bufpos += snprintf(&buf[bufpos], sizeof(buf) - bufpos, "%s=%s",
- udev_list_entry_get_name(list_entry),
- udev_list_entry_get_value(list_entry));
- bufpos++;
+ len = util_strlcpy(&buf[bufpos], udev_list_entry_get_name(list_entry), sizeof(buf)-bufpos);
+ if (len >= sizeof(buf)-bufpos)
+ return -1;
+ bufpos += len;
+ len = util_strlcpy(&buf[bufpos], "=", sizeof(buf)-bufpos);
+ if (len >= sizeof(buf)-bufpos)
+ return -1;
+ bufpos += len;
+ len = util_strlcpy(&buf[bufpos], udev_list_entry_get_value(list_entry), sizeof(buf)-bufpos);
+ if (len+1 >= sizeof(buf)-bufpos)
+ return -1;
+ bufpos += len+1;