diff options
author | Alyssa Ross <hi@alyssa.is> | 2020-01-11 23:37:02 +0000 |
---|---|---|
committer | Alyssa Ross <hi@alyssa.is> | 2020-01-11 23:41:30 +0000 |
commit | 6c557e3f1c28cf87e9fba232811d6875dd1399c1 (patch) | |
tree | 035a071d5d8980df6de0fa42e2ef8fc0cce7055e /nixpkgs/pkgs/os-specific/linux/usbip | |
parent | da7500bc026e937ac7fce7b50f67a0e1765737a7 (diff) | |
parent | e4134747f5666bcab8680aff67fa3b63384f9a0f (diff) | |
download | nixlib-6c557e3f1c28cf87e9fba232811d6875dd1399c1.tar nixlib-6c557e3f1c28cf87e9fba232811d6875dd1399c1.tar.gz nixlib-6c557e3f1c28cf87e9fba232811d6875dd1399c1.tar.bz2 nixlib-6c557e3f1c28cf87e9fba232811d6875dd1399c1.tar.lz nixlib-6c557e3f1c28cf87e9fba232811d6875dd1399c1.tar.xz nixlib-6c557e3f1c28cf87e9fba232811d6875dd1399c1.tar.zst nixlib-6c557e3f1c28cf87e9fba232811d6875dd1399c1.zip |
Merge commit 'e4134747f5666bcab8680aff67fa3b63384f9a0f'
Diffstat (limited to 'nixpkgs/pkgs/os-specific/linux/usbip')
-rw-r--r-- | nixpkgs/pkgs/os-specific/linux/usbip/default.nix | 8 | ||||
-rw-r--r-- | nixpkgs/pkgs/os-specific/linux/usbip/fix-strncpy-truncation.patch | 37 |
2 files changed, 43 insertions, 2 deletions
diff --git a/nixpkgs/pkgs/os-specific/linux/usbip/default.nix b/nixpkgs/pkgs/os-specific/linux/usbip/default.nix index 61f2c4540465..f927eaefb4eb 100644 --- a/nixpkgs/pkgs/os-specific/linux/usbip/default.nix +++ b/nixpkgs/pkgs/os-specific/linux/usbip/default.nix @@ -1,18 +1,22 @@ -{ stdenv, kernel, udev, autoconf, automake, libtool }: +{ lib, stdenv, kernel, udev, autoconf, automake, libtool }: stdenv.mkDerivation { name = "usbip-${kernel.name}"; src = kernel.src; - patches = [ + patches = lib.optionals (lib.versionAtLeast "5.4" kernel.version) [ # fixes build with gcc8 ./fix-snprintf-truncation.patch + # fixes build with gcc9 + ./fix-strncpy-truncation.patch ]; nativeBuildInputs = [ autoconf automake libtool ]; buildInputs = [ udev ]; + NIX_CFLAGS_COMPILE = [ "-Wno-error=address-of-packed-member" ]; + preConfigure = '' cd tools/usb/usbip ./autogen.sh diff --git a/nixpkgs/pkgs/os-specific/linux/usbip/fix-strncpy-truncation.patch b/nixpkgs/pkgs/os-specific/linux/usbip/fix-strncpy-truncation.patch new file mode 100644 index 000000000000..a5c4c97bbc08 --- /dev/null +++ b/nixpkgs/pkgs/os-specific/linux/usbip/fix-strncpy-truncation.patch @@ -0,0 +1,37 @@ +diff --git a/tools/usb/usbip/libsrc/usbip_common.c b/tools/usb/usbip/libsrc/usbip_common.c +index bb424638d75b..2fc5837e609a 100644 +--- a/tools/usb/usbip/libsrc/usbip_common.c ++++ b/tools/usb/usbip/libsrc/usbip_common.c +@@ -226,8 +226,8 @@ int read_usb_device(struct udev_device *sdev, struct usbip_usb_device *udev) + path = udev_device_get_syspath(sdev); + name = udev_device_get_sysname(sdev); + +- strncpy(udev->path, path, SYSFS_PATH_MAX); +- strncpy(udev->busid, name, SYSFS_BUS_ID_SIZE); ++ strncpy(udev->path, path, SYSFS_PATH_MAX-1); ++ strncpy(udev->busid, name, SYSFS_BUS_ID_SIZE-1); + + sscanf(name, "%u-%u", &busnum, &devnum); + udev->busnum = busnum; +diff --git a/tools/usb/usbip/libsrc/usbip_device_driver.c b/tools/usb/usbip/libsrc/usbip_device_driver.c +index 5a3726eb44ab..95b416af8b99 100644 +--- a/tools/usb/usbip/libsrc/usbip_device_driver.c ++++ b/tools/usb/usbip/libsrc/usbip_device_driver.c +@@ -91,7 +91,7 @@ int read_usb_vudc_device(struct udev_device *sdev, struct usbip_usb_device *dev) + copy_descr_attr16(dev, &descr, idProduct); + copy_descr_attr16(dev, &descr, bcdDevice); + +- strncpy(dev->path, path, SYSFS_PATH_MAX); ++ strncpy(dev->path, path, SYSFS_PATH_MAX-1); + + dev->speed = USB_SPEED_UNKNOWN; + speed = udev_device_get_sysattr_value(sdev, "current_speed"); +@@ -110,7 +110,7 @@ int read_usb_vudc_device(struct udev_device *sdev, struct usbip_usb_device *dev) + dev->busnum = 0; + + name = udev_device_get_sysname(plat); +- strncpy(dev->busid, name, SYSFS_BUS_ID_SIZE); ++ strncpy(dev->busid, name, SYSFS_BUS_ID_SIZE-1); + return 0; + err: + fclose(fd); |