From f5940df96ff0be12482b0f91bbb9853fcce1eeb7 Mon Sep 17 00:00:00 2001 From: Marcus Meissner Date: Sun, 25 Sep 2016 17:53:16 +0200 Subject: [PATCH] report error when setting a too long port, do not silently truncate --- libgphoto2_port/libgphoto2_port/gphoto2-port.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/libgphoto2_port/libgphoto2_port/gphoto2-port.c b/libgphoto2_port/libgphoto2_port/gphoto2-port.c index 1842970b9..6445b96c9 100644 --- a/libgphoto2_port/libgphoto2_port/gphoto2-port.c +++ b/libgphoto2_port/libgphoto2_port/gphoto2-port.c @@ -208,6 +208,10 @@ gp_port_set_info (GPPort *port, GPPortInfo info) gp_port_set_timeout (port, 500); break; case GP_PORT_USB: + if (sizeof (port->settings.usb.port) <= strlen(info->path)) { + GP_LOG_E ("Path is too long for static buffer '%s'.", info->path); + return GP_ERROR_LIBRARY; + } strncpy (port->settings.usb.port, info->path, sizeof (port->settings.usb.port)); port->settings.usb.inep = -1;