From ffa8801644a7d53cc1c785e3450f794c07a14eb0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Frings-F=C3=BCrst?= Date: Sun, 2 Feb 2020 17:13:01 +0100 Subject: New upstream version 1.0.29 --- backend/plustek-usb.c | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) (limited to 'backend/plustek-usb.c') diff --git a/backend/plustek-usb.c b/backend/plustek-usb.c index 5c6fbeb..107bf9e 100644 --- a/backend/plustek-usb.c +++ b/backend/plustek-usb.c @@ -193,6 +193,7 @@ usb_initDev( Plustek_Device *dev, int idx, int handle, int vendor ) int i; ScanParam sParam; u_short tmp = 0; + int ret = 0; DBG( _DBG_INFO, "usb_initDev(%d,0x%04x,%i)\n", idx, vendor, dev->initialized ); @@ -305,11 +306,16 @@ usb_initDev( Plustek_Device *dev, int idx, int handle, int vendor ) } ptr = getenv ("HOME"); - if( NULL == ptr ) { - sprintf( tmp_str2, "/tmp/%s", tmp_str1 ); - } else { - sprintf( tmp_str2, "%s/.sane/%s", ptr, tmp_str1 ); + ret = ( NULL == ptr )? + snprintf( tmp_str2, sizeof(tmp_str2), "/tmp/%s", tmp_str1 ): + snprintf( tmp_str2, sizeof(tmp_str2), "%s/.sane/%s", ptr, tmp_str1 ); + + if ((ret < 0) || (ret > (int)sizeof(tmp_str2))) { + DBG( _DBG_WARNING, + "Failed to generate calibration file path. Default substituted.\n" ); + snprintf(tmp_str2, sizeof(tmp_str2), "/tmp/plustek-default"); } + dev->calFile = strdup( tmp_str2 ); DBG( _DBG_INFO, "Calibration file-names set to:\n" ); DBG( _DBG_INFO, ">%s-coarse.cal<\n", dev->calFile ); -- cgit v1.2.3