struct usbip_usb_interface *uinf)
 {
        char busid[SYSFS_BUS_ID_SIZE];
+       int size;
        struct udev_device *sif;
 
-       sprintf(busid, "%s:%d.%d", udev->busid, udev->bConfigurationValue, i);
+       size = snprintf(busid, sizeof(busid), "%s:%d.%d",
+                       udev->busid, udev->bConfigurationValue, i);
+       if (size < 0 || (unsigned int)size >= sizeof(busid)) {
+               err("busid length %i >= %lu or < 0", size,
+                   (long unsigned)sizeof(busid));
+               return -1;
+       }
 
        sif = udev_device_new_from_subsystem_sysname(udev_context, "usb", busid);
        if (!sif) {
 
 static int32_t read_attr_usbip_status(struct usbip_usb_device *udev)
 {
        char status_attr_path[SYSFS_PATH_MAX];
+       int size;
        int fd;
        int length;
        char status;
        int value = 0;
 
-       snprintf(status_attr_path, SYSFS_PATH_MAX, "%s/usbip_status",
-                udev->path);
+       size = snprintf(status_attr_path, sizeof(status_attr_path),
+                       "%s/usbip_status", udev->path);
+       if (size < 0 || (unsigned int)size >= sizeof(status_attr_path)) {
+               err("usbip_status path length %i >= %lu or < 0", size,
+                   (long unsigned)sizeof(status_attr_path));
+               return -1;
+       }
+
 
        fd = open(status_attr_path, O_RDONLY);
        if (fd < 0) {
 {
        char attr_name[] = "usbip_sockfd";
        char sockfd_attr_path[SYSFS_PATH_MAX];
+       int size;
        char sockfd_buff[30];
        int ret;
 
        }
 
        /* only the first interface is true */
-       snprintf(sockfd_attr_path, sizeof(sockfd_attr_path), "%s/%s",
-                edev->udev.path, attr_name);
+       size = snprintf(sockfd_attr_path, sizeof(sockfd_attr_path), "%s/%s",
+                       edev->udev.path, attr_name);
+       if (size < 0 || (unsigned int)size >= sizeof(sockfd_attr_path)) {
+               err("exported device path length %i >= %lu or < 0", size,
+                   (long unsigned)sizeof(sockfd_attr_path));
+               return -1;
+       }
 
-       snprintf(sockfd_buff, sizeof(sockfd_buff), "%d\n", sockfd);
+       size = snprintf(sockfd_buff, sizeof(sockfd_buff), "%d\n", sockfd);
+       if (size < 0 || (unsigned int)size >= sizeof(sockfd_buff)) {
+               err("socket length %i >= %lu or < 0", size,
+                   (long unsigned)sizeof(sockfd_buff));
+               return -1;
+       }
 
        ret = write_sysfs_attribute(sockfd_attr_path, sockfd_buff,
                                    strlen(sockfd_buff));