diff options
| author | Jörg Frings-Fürst <debian@jff-webhosting.net> | 2020-02-02 17:13:01 +0100 | 
|---|---|---|
| committer | Jörg Frings-Fürst <debian@jff-webhosting.net> | 2020-02-02 17:13:01 +0100 | 
| commit | ffa8801644a7d53cc1c785e3450f794c07a14eb0 (patch) | |
| tree | 8d72a18a9a08b9151d12badcb1c78ce06a059f62 /backend/epjitsu.c | |
| parent | 1687222e1b9e74c89cafbb5910e72d8ec7bfd40f (diff) | |
New upstream version 1.0.29upstream/1.0.29
Diffstat (limited to 'backend/epjitsu.c')
| -rw-r--r-- | backend/epjitsu.c | 13 | 
1 files changed, 12 insertions, 1 deletions
| diff --git a/backend/epjitsu.c b/backend/epjitsu.c index bee4310..714bc0b 100644 --- a/backend/epjitsu.c +++ b/backend/epjitsu.c @@ -349,10 +349,21 @@ sane_get_devices (const SANE_Device *** device_list, SANE_Bool local_only)                  continue;              if ((strncmp ("firmware", lp, 8) == 0) && isspace (lp[8])) { +                size_t firmware_len; +                  lp += 8;                  lp = sanei_config_skip_whitespace (lp);                  DBG (15, "sane_get_devices: firmware '%s'\n", lp); -                strncpy((char *)global_firmware_filename,lp,PATH_MAX); + +                firmware_len = strlen(lp); +                if (firmware_len > sizeof(global_firmware_filename) - 1) +                  { +                    DBG (5, "sane_get_devices: firmware file too long. ignoring '%s'\n", lp); +                  } +                else +                  { +                    strcpy((char *)global_firmware_filename, lp); +                  }              }              else if ((strncmp ("usb", lp, 3) == 0) && isspace (lp[3])) {                  DBG (15, "sane_get_devices: looking for '%s'\n", lp); | 
