import hplip-3.18.4-9.el8

This commit is contained in:
CentOS Sources 2019-11-05 14:46:57 -05:00 committed by Andrew Lukoshko
parent 26d37edf89
commit a3f182da69
2 changed files with 712 additions and 1 deletions

701
SOURCES/hplip-covscan.patch Normal file
View File

@ -0,0 +1,701 @@
diff --git a/Makefile.am b/Makefile.am
index 62a25d3..2c4d6f8 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -3,7 +3,7 @@
#
# (c) 2004-2015 Copyright HP Development Company, LP
# Author: David Suffield, Naga Samrat Chowdary Narla, Sarbeswar Meher
-INCLUDES = -Iip -Iio/hpmud -Iscan/sane -Iprnt/hpijs -Icommon/
+INCLUDES = -Iip -Iio/hpmud -Iscan/sane -Iprnt/hpijs -Icommon/ -Iprotocol
CFLAGS+= -DCONFDIR=\"$(hplip_confdir)\"
CXXFLAGS+= -DCONFDIR=\"$(hplip_confdir)\"
@@ -304,7 +304,7 @@ dist_pcard_DATA = pcard/__init__.py pcard/photocard.py
pcardextdir = $(pyexecdir)
pcardext_LTLIBRARIES = pcardext.la
pcardext_la_LDFLAGS = -module -avoid-version
-pcardext_la_SOURCES = pcard/pcardext/pcardext.c pcard/fat.c
+pcardext_la_SOURCES = pcard/pcardext/pcardext.c pcard/fat.c pcard/pcardext/pcardext.h
pcardext_la_CFLAGS = -I$(PYTHONINCLUDEDIR)
# prnt
@@ -316,7 +316,7 @@ lib_LTLIBRARIES += libhpipp.la
#hpipp_LTLIBRARIES = hpipp.la
#hpipp_la_LDFLAGS = -module -avoid-version
libhpipp_la_SOURCES = protocol/hp_ipp.c protocol/hp_ipp.h protocol/hp_ipp_i.h
-libhpipp_la_CFLAGS = -DCONFDIR=\"$(hplip_confdir)\"
+libhpipp_la_CFLAGS = -DCONFDIR=\"$(hplip_confdir)\" -D_GNU_SOURCE
libhpipp_la_LDFLAGS = -version-info 0:1:0
libhpipp_la_LIBADD = libhpmud.la
diff --git a/common/utils.c b/common/utils.c
index d8ecee9..def4e47 100644
--- a/common/utils.c
+++ b/common/utils.c
@@ -1,5 +1,9 @@
+#ifndef _GNU_SOURCE
+#define _GNU_SOURCE
+#endif
+
#include "utils.h"
-#include "string.h"
+#include <string.h>
#include <dlfcn.h>
#include <sys/stat.h>
#include <errno.h>
diff --git a/io/hpmud/hpmud.c b/io/hpmud/hpmud.c
index 0eb6fff..358f279 100644
--- a/io/hpmud/hpmud.c
+++ b/io/hpmud/hpmud.c
@@ -759,6 +759,7 @@ enum HPMUD_RESULT hpmud_get_dstat(HPMUD_DEVICE dd, struct hpmud_dstat *ds)
}
strncpy(ds->uri, msp->device[dd].uri, sizeof(ds->uri));
+ ds->uri[sizeof(ds->uri)-1] = '\0';
ds->io_mode = msp->device[dd].io_mode;
ds->channel_cnt = msp->device[dd].channel_cnt;
ds->mlc_up = msp->device[dd].mlc_up;
diff --git a/io/hpmud/jd.c b/io/hpmud/jd.c
index 06f5072..20df27a 100644
--- a/io/hpmud/jd.c
+++ b/io/hpmud/jd.c
@@ -31,6 +31,7 @@
#endif
#include <signal.h>
+#include <stdlib.h>
#include "hpmud.h"
#include "hpmudi.h"
diff --git a/io/hpmud/model.c b/io/hpmud/model.c
index 4ea8990..a917d69 100644
--- a/io/hpmud/model.c
+++ b/io/hpmud/model.c
@@ -117,6 +117,7 @@ static int ReadConfig()
if (rcbuf[0] == '[')
{
strncpy(section, rcbuf, sizeof(section)); /* found new section */
+ section[sizeof(section)-1] = '\0';
continue;
}
@@ -125,6 +126,7 @@ static int ReadConfig()
if ((strncasecmp(section, "[dirs]", 6) == 0) && (strcasecmp(key, "home") == 0))
{
strncpy(homedir, value, sizeof(homedir));
+ homedir[sizeof(homedir)-1] = '\0';
break; /* done */
}
}
diff --git a/io/hpmud/musb.c b/io/hpmud/musb.c
index 6e99c15..755493e 100644
--- a/io/hpmud/musb.c
+++ b/io/hpmud/musb.c
@@ -775,7 +775,7 @@ static int device_id(int fd, unsigned char *buffer, int size)
len = size-1; /* leave byte for zero termination */
if (len > 2)
len -= 2;
- memcpy(buffer, buffer+2, len); /* remove length */
+ memmove(buffer, buffer+2, len); /* remove length */
buffer[len]=0;
DBG("read actual device_id successfully fd=%d len=%d\n", fd, len);
diff --git a/io/hpmud/pp.c b/io/hpmud/pp.c
index 74c5fdc..021d627 100644
--- a/io/hpmud/pp.c
+++ b/io/hpmud/pp.c
@@ -632,7 +632,7 @@ static int device_id(int fd, char *buffer, int size)
len = size-1; /* leave byte for zero termination */
if (len > 2)
len -= 2;
- memcpy(buffer, buffer+2, len); /* remove length */
+ memmove(buffer, buffer+2, len); /* remove length */
buffer[len]=0;
DBG("read actual device_id successfully fd=%d len=%d\n", fd, len);
diff --git a/pcard/fat.c b/pcard/fat.c
index caa383f..e1425c0 100644
--- a/pcard/fat.c
+++ b/pcard/fat.c
@@ -519,14 +519,17 @@ int FatFreeSpace(void)
int FatDiskAttributes( PHOTO_CARD_ATTRIBUTES * pa )
{
- strncpy( pa->OEMID, bpb.OEMID, 8 );
+ strncpy(pa->OEMID, bpb.OEMID, sizeof(pa->OEMID));
+ pa->OEMID[sizeof(pa->OEMID)-1] = '\0';
pa->BytesPerSector = bpb.BytesPerSector;
pa->SectorsPerCluster = bpb.SectorsPerCluster;
pa->ReservedSectors = bpb.ReservedSectors;
pa->SectorsPerFat = bpb.SectorsPerFat;
pa->RootEntries = bpb.RootEntries;
- strncpy( pa->SystemID, (char *)bpb.SystemID, 8 );
- strncpy( pa->VolumeLabel, (char *)bpb.VolumeLabel, 11 );
+ strncpy(pa->SystemID, (char *)bpb.SystemID, sizeof(pa->SystemID));
+ pa->SystemID[sizeof(pa->SystemID)-1] = '\0';
+ strncpy(pa->VolumeLabel, (char *)bpb.VolumeLabel, sizeof(pa->VolumeLabel));
+ pa->VolumeLabel[sizeof(pa->VolumeLabel)-1] = '\0';
pa->WriteProtect = da.WriteProtect;
return 0;
@@ -741,6 +744,7 @@ int FatSetCWD(char *dir)
return 1;
strncpy(cwd.Name, fa.Name, sizeof(cwd.Name));
+ cwd.Name[sizeof(cwd.Name)-1] = '\0';
cwd.StartSector = ConvertClusterToSector(fa.StartCluster);
cwd.CurrSector = cwd.StartSector;
cwd.StartCluster = fa.StartCluster;
diff --git a/prnt/hpcups/genPCLm.cpp b/prnt/hpcups/genPCLm.cpp
index c0cdc73..4db4bde 100644
--- a/prnt/hpcups/genPCLm.cpp
+++ b/prnt/hpcups/genPCLm.cpp
@@ -1237,11 +1237,16 @@ void PCLmGenerator::writeJobTicket()
char orientation[256];
char duplex[256];
char colorthemes[256];
- strncpy(colorthemes,getColorThemesString(m_pPCLmSSettings->colorTheme),256);
- strncpy(inputBin,getInputBinString(m_pPCLmSSettings->userInputBin),256);
- strncpy(outputBin,getOutputBin(m_pPCLmSSettings->userOutputBin),256);
- strncpy(orientation,getOrientationString(m_pPCLmSSettings->userOrientation),256);
- strncpy(duplex,getDuplexString(currDuplexDisposition),256);
+ strncpy(colorthemes,getColorThemesString(m_pPCLmSSettings->colorTheme), sizeof(colorthemes));
+ colorthemes[sizeof(colorthemes)-1] = '\0';
+ strncpy(inputBin,getInputBinString(m_pPCLmSSettings->userInputBin), sizeof(inputBin));
+ inputBin[sizeof(inputBin)-1] = '\0';
+ strncpy(outputBin,getOutputBin(m_pPCLmSSettings->userOutputBin), sizeof(outputBin));
+ outputBin[sizeof(outputBin)-1] = '\0';
+ strncpy(orientation,getOrientationString(m_pPCLmSSettings->userOrientation), sizeof(orientation));
+ orientation[sizeof(orientation)-1] = '\0';
+ strncpy(duplex,getDuplexString(currDuplexDisposition), sizeof(duplex));
+ duplex[sizeof(duplex)-1] = '\0';
snprintf(pOutStr,OUT_STR_SIZE,"%% genPCLm (Ver: %f)\n",PCLM_Ver); writeStr2OutBuff(pOutStr);
snprintf(pOutStr,OUT_STR_SIZE,"%%============= Job Ticket =============\n"); writeStr2OutBuff(pOutStr);
@@ -1635,7 +1640,10 @@ int PCLmGenerator::StartPage(PCLmPageSetup *PCLmPageContent, void **pOutBuffer,
}
if(strlen(PCLmPageContent->mediaSizeName))
- strncpy(currMediaName,PCLmPageContent->mediaSizeName,256);
+ {
+ strncpy(currMediaName,PCLmPageContent->mediaSizeName, sizeof(currMediaName));
+ currMediaName[sizeof(currMediaName)-1] = '\0';
+ }
currStripHeight=PCLmPageContent->stripHeight;
if(!currStripHeight)
diff --git a/prnt/hpijs/context2.cpp b/prnt/hpijs/context2.cpp
index c3df482..19490b1 100644
--- a/prnt/hpijs/context2.cpp
+++ b/prnt/hpijs/context2.cpp
@@ -1302,6 +1302,7 @@ DRIVER_ERROR PrintContext::SelectDevice
if(0 == strnlen((const char *)pSS->strDevID, DevIDBuffSize))
{
strncpy((char *)pSS->strDevID,szDeviceId,DevIDBuffSize);
+ pSS->strDevID[sizeof(pSS->strDevID)-1] = '\0';
}
thePrinter = pPFI->CreatePrinter (pSS, familyHandle);
if (thePrinter->constructor_error != NO_ERROR)
diff --git a/prnt/hpijs/systemservices.cpp b/prnt/hpijs/systemservices.cpp
index 95f5a64..f5b4bb5 100644
--- a/prnt/hpijs/systemservices.cpp
+++ b/prnt/hpijs/systemservices.cpp
@@ -396,7 +396,10 @@ void SystemServices::AdjustIO(IO_MODE IM, const char* model)
IOMode.bDevID =IM.bDevID && IOMode.bDevID;
if (model)
+ {
strncpy(strModel,model, sizeof(strModel));
+ strModel[sizeof(strModel)-1] = '\0';
+ }
}
APDK_END_NAMESPACE
diff --git a/prnt/hpps/hppsfilter.c b/prnt/hpps/hppsfilter.c
index 5879a70..d246041 100644
--- a/prnt/hpps/hppsfilter.c
+++ b/prnt/hpps/hppsfilter.c
@@ -230,13 +230,13 @@ static void WriteHeader(char **argument)
/* Writing Header Information
argument[1] = JOB ID , argument[2]= USERNAME, argument[3] = TITLE */
hpwrite("\x1b%-12345X@PJL JOBNAME=", strlen("\x1b%-12345X@PJL JOBNAME="));
- sprintf(buffer, "hplip_%s_%s\x0a", argument[2], argument[1]);
+ snprintf(buffer, MAX_BUFFER-1, "hplip_%s_%s\x0a", argument[2], argument[1]);
hpwrite(buffer, strlen(buffer));
memset(buffer, 0, sizeof(buffer));
- sprintf(buffer, "@PJL SET USERNAME=\"%s\"\x0a", argument[2]);
+ snprintf(buffer, MAX_BUFFER-1, "@PJL SET USERNAME=\"%s\"\x0a", argument[2]);
hpwrite(buffer, strlen(buffer));
memset(buffer, 0, sizeof(buffer));
- sprintf(buffer, "@PJL SET JOBNAME=\"%s\"\x0a", argument[3]);
+ snprintf(buffer, MAX_BUFFER-1, "@PJL SET JOBNAME=\"%s\"\x0a", argument[3]);
hpwrite(buffer, strlen(buffer));
fprintf(stderr, "HP PS filter func = WriteHeader : WRITING PJL HEADER INFO\n");
return;
diff --git a/protocol/discovery/mdns.c b/protocol/discovery/mdns.c
index abca295..8dd6fa5 100644
--- a/protocol/discovery/mdns.c
+++ b/protocol/discovery/mdns.c
@@ -31,6 +31,10 @@
#include <netinet/in.h>
#include <netdb.h>
#include <arpa/inet.h>
+#include <unistd.h>
+#include <ctype.h>
+#include <stdio.h>
+#include <stdlib.h>
#include "mdns.h"
/* Convert "www.google.com" to "3www6google3com". */
diff --git a/protocol/hp_ipp.h b/protocol/hp_ipp.h
index 3853f84..de76202 100644
--- a/protocol/hp_ipp.h
+++ b/protocol/hp_ipp.h
@@ -166,5 +166,10 @@ int getCupsPrinters(printer_t **printer_list);
HPIPP_RESULT parseResponseHeader(char* header, int *content_length, int *chunked, int* header_size);
HPIPP_RESULT prepend_http_header(raw_ipp *raw_request);
enum HPMUD_RESULT sendUSBRequest(char *buf, int size, raw_ipp *responseptr, char * device_uri);
+void _releaseCupsInstance();
+int addCupsPrinter(char *name, char *device_uri, char *location, char *ppd_file, char *model, char *info);
+int delCupsPrinter(char *pr_name);
+int setDefaultCupsPrinter(char *pr_name);
+int controlCupsPrinter(char *pr_name, int op);
# endif //_IPP_H
diff --git a/scan/sane/bb_ledm.c b/scan/sane/bb_ledm.c
index b233d1e..7ba0edf 100644
--- a/scan/sane/bb_ledm.c
+++ b/scan/sane/bb_ledm.c
@@ -26,6 +26,7 @@
# include "http.h"
# include "xml.h"
# include <stdlib.h>
+# include <unistd.h>
# include <stdint.h>
diff --git a/scan/sane/common.h b/scan/sane/common.h
index 0f67542..e496a74 100644
--- a/scan/sane/common.h
+++ b/scan/sane/common.h
@@ -36,7 +36,7 @@
#define _STRINGIZE(x) #x
#define STRINGIZE(x) _STRINGIZE(x)
-#define BUG(args...) {syslog(LOG_ERR, __FILE__ " " STRINGIZE(__LINE__) ": " args); DBG(2, __FILE__ " " STRINGIZE(__LINE__) ": " args);}
+#define BUG_SCAN(args...) {syslog(LOG_ERR, __FILE__ " " STRINGIZE(__LINE__) ": " args); DBG(2, __FILE__ " " STRINGIZE(__LINE__) ": " args);}
#define BUG_DUMP(data, size) bugdump((data), (size))
#define BUG_SZ(args...) {syslog(LOG_ERR, args); DBG(2, args);}
diff --git a/scan/sane/escl.c b/scan/sane/escl.c
index af45bff..4f59b21 100644
--- a/scan/sane/escl.c
+++ b/scan/sane/escl.c
@@ -795,7 +795,7 @@ SANE_Status escl_control_option(SANE_Handle handle, SANE_Int option, SANE_Action
//DBG8("escl_control_option (option=%s) action=%d\n", ps->option[option].name, action);
if (stat != SANE_STATUS_GOOD)
{
- BUG("control_option failed: option=%s action=%s\n", ps->option[option].name, action==SANE_ACTION_GET_VALUE ? "get" : action==SANE_ACTION_SET_VALUE ? "set" : "auto");
+ BUG_SCAN("control_option failed: option=%s action=%s\n", ps->option[option].name, action==SANE_ACTION_GET_VALUE ? "get" : action==SANE_ACTION_SET_VALUE ? "set" : "auto");
}
return stat;
@@ -1102,7 +1102,7 @@ void escl_close(SANE_Handle handle)
if (ps == NULL || ps != session)
{
- BUG("invalid sane_close\n");
+ BUG_SCAN("invalid sane_close\n");
return;
}
diff --git a/scan/sane/hpaio.c b/scan/sane/hpaio.c
index ae34cfb..ffde2ad 100644
--- a/scan/sane/hpaio.c
+++ b/scan/sane/hpaio.c
@@ -41,6 +41,7 @@
#include "soap.h"
#include "soapht.h"
#include "marvell.h"
+#include "mdns.h"
#include "hpaio.h"
#include "ledm.h"
#include "sclpml.h"
diff --git a/scan/sane/http.c b/scan/sane/http.c
index 800df91..45668cd 100644
--- a/scan/sane/http.c
+++ b/scan/sane/http.c
@@ -36,6 +36,7 @@
#include <string.h>
#include <syslog.h>
#include <ctype.h>
+#include <unistd.h>
#include "hpmud.h"
#include "http.h"
diff --git a/scan/sane/io.c b/scan/sane/io.c
index 4508458..7bbddea 100755
--- a/scan/sane/io.c
+++ b/scan/sane/io.c
@@ -50,7 +50,7 @@ int __attribute__ ((visibility ("hidden"))) InitDbus(void)
if (dbus_error_is_set(&dbus_err))
{
- BUG("dBus Connection Error (%s)!\n", dbus_err.message);
+ BUG_SCAN("dBus Connection Error (%s)!\n", dbus_err.message);
dbus_error_free(&dbus_err);
}
@@ -79,7 +79,7 @@ int __attribute__ ((visibility ("hidden"))) SendScanEvent(char *device_uri, int
if (NULL == msg)
{
- BUG("dbus message is NULL!\n");
+ BUG_SCAN("dbus message is NULL!\n");
return 0;
}
@@ -94,7 +94,7 @@ int __attribute__ ((visibility ("hidden"))) SendScanEvent(char *device_uri, int
if (!dbus_connection_send(dbus_conn, msg, NULL))
{
- BUG("dbus message send failed!\n");
+ BUG_SCAN("dbus message send failed!\n");
return 0;
}
diff --git a/scan/sane/ledm.c b/scan/sane/ledm.c
index 9a1ff02..07ab5b0 100644
--- a/scan/sane/ledm.c
+++ b/scan/sane/ledm.c
@@ -802,7 +802,7 @@ SANE_Status ledm_control_option(SANE_Handle handle, SANE_Int option, SANE_Action
if (stat != SANE_STATUS_GOOD)
{
- BUG("control_option failed: option=%s action=%s\n", ps->option[option].name, action==SANE_ACTION_GET_VALUE ? "get" : action==SANE_ACTION_SET_VALUE ? "set" : "auto");
+ BUG_SCAN("control_option failed: option=%s action=%s\n", ps->option[option].name, action==SANE_ACTION_GET_VALUE ? "get" : action==SANE_ACTION_SET_VALUE ? "set" : "auto");
}
return stat;
@@ -1067,7 +1067,7 @@ void ledm_close(SANE_Handle handle)
if (ps == NULL || ps != session)
{
- BUG("invalid sane_close\n");
+ BUG_SCAN("invalid sane_close\n");
return;
}
diff --git a/scan/sane/marvell.c b/scan/sane/marvell.c
index ad267a3..236f7c9 100644
--- a/scan/sane/marvell.c
+++ b/scan/sane/marvell.c
@@ -134,7 +134,7 @@ static int get_ip_data(struct marvell_session *ps, SANE_Byte *data, SANE_Int max
if (!ps->ip_handle)
{
- BUG("invalid ipconvert state\n");
+ BUG_SCAN("invalid ipconvert state\n");
goto bugout;
}
@@ -335,7 +335,7 @@ static struct marvell_session *create_session()
if ((ps = malloc(sizeof(struct marvell_session))) == NULL)
{
- BUG("malloc failed: %m\n");
+ BUG_SCAN("malloc failed: %m\n");
return NULL;
}
memset(ps, 0, sizeof(struct marvell_session));
@@ -402,7 +402,7 @@ SANE_Status marvell_open(SANE_String_Const device, SANE_Handle *handle)
if (session)
{
- BUG("session in use\n");
+ BUG_SCAN("session in use\n");
return SANE_STATUS_DEVICE_BUSY;
}
@@ -431,7 +431,7 @@ SANE_Status marvell_open(SANE_String_Const device, SANE_Handle *handle)
if (hpmud_open_device(session->uri, ma.mfp_mode, &session->dd) != HPMUD_R_OK)
{
- BUG("unable to open device %s\n", session->uri);
+ BUG_SCAN("unable to open device %s\n", session->uri);
goto bugout;
free(session);
@@ -441,7 +441,7 @@ SANE_Status marvell_open(SANE_String_Const device, SANE_Handle *handle)
if (hpmud_open_channel(session->dd, HPMUD_S_MARVELL_SCAN_CHANNEL, &session->cd) != HPMUD_R_OK)
{
- BUG("unable to open %s channel %s\n", HPMUD_S_MARVELL_SCAN_CHANNEL, session->uri);
+ BUG_SCAN("unable to open %s channel %s\n", HPMUD_S_MARVELL_SCAN_CHANNEL, session->uri);
stat = SANE_STATUS_DEVICE_BUSY;
goto bugout;
}
@@ -554,7 +554,7 @@ void marvell_close(SANE_Handle handle)
if (ps == NULL || ps != session)
{
- BUG("invalid sane_close\n");
+ BUG_SCAN("invalid sane_close\n");
return;
}
@@ -849,7 +849,7 @@ SANE_Status marvell_control_option(SANE_Handle handle, SANE_Int option, SANE_Act
stat = SANE_STATUS_GOOD;
break;
}
- BUG("value=%d brymin=%d brymax=%d\n", *int_value, ps->bryRange.min, ps->bryRange.max);
+ BUG_SCAN("value=%d brymin=%d brymax=%d\n", *int_value, ps->bryRange.min, ps->bryRange.max);
}
else
{ /* Set default. */
@@ -866,7 +866,7 @@ SANE_Status marvell_control_option(SANE_Handle handle, SANE_Int option, SANE_Act
if (stat != SANE_STATUS_GOOD)
{
- BUG("control_option failed: option=%s action=%s\n", ps->option[option].name,
+ BUG_SCAN("control_option failed: option=%s action=%s\n", ps->option[option].name,
action==SANE_ACTION_GET_VALUE ? "get" : action==SANE_ACTION_SET_VALUE ? "set" : "auto");
}
@@ -905,7 +905,7 @@ SANE_Status marvell_start(SANE_Handle handle)
if (set_extents(ps))
{
- BUG("invalid extents: tlx=%d brx=%d tly=%d bry=%d minwidth=%d minheight%d maxwidth=%d maxheight=%d\n",
+ BUG_SCAN("invalid extents: tlx=%d brx=%d tly=%d bry=%d minwidth=%d minheight%d maxwidth=%d maxheight=%d\n",
ps->currentTlx, ps->currentTly, ps->currentBrx, ps->currentBry, ps->min_width, ps->min_height, ps->tlxRange.max, ps->tlyRange.max);
stat = SANE_STATUS_INVAL;
goto bugout;
@@ -963,7 +963,7 @@ SANE_Status marvell_start(SANE_Handle handle)
/* Open image processor. */
if ((ret = ipOpen(pXform-xforms, xforms, 0, &ps->ip_handle)) != IP_DONE)
{
- BUG("unable open image processor: err=%d\n", ret);
+ BUG_SCAN("unable open image processor: err=%d\n", ret);
stat = SANE_STATUS_INVAL;
goto bugout;
}
@@ -1023,7 +1023,7 @@ SANE_Status marvell_read(SANE_Handle handle, SANE_Byte *data, SANE_Int maxLength
if(ret & (IP_INPUT_ERROR | IP_FATAL_ERROR))
{
- BUG("ipConvert error=%x\n", ret);
+ BUG_SCAN("ipConvert error=%x\n", ret);
goto bugout;
}
diff --git a/scan/sane/sclpml.c b/scan/sane/sclpml.c
index 9a5975f..dc8b32c 100644
--- a/scan/sane/sclpml.c
+++ b/scan/sane/sclpml.c
@@ -30,6 +30,7 @@
#include <unistd.h>
#include <fcntl.h>
#include <string.h>
+#include <sys/time.h>
#include "sane.h"
#include "saneopts.h"
#include "common.h"
@@ -2090,7 +2091,7 @@ void sclpml_close(SANE_Handle handle)
DBG(8, "sane_hpaio_close(): %s %d\n", __FILE__, __LINE__);
if (hpaio == NULL || hpaio != session)
{
- BUG("invalid sane_close\n");
+ BUG_SCAN("invalid sane_close\n");
return;
}
diff --git a/scan/sane/soap.c b/scan/sane/soap.c
index 07106fe..0d22e52 100644
--- a/scan/sane/soap.c
+++ b/scan/sane/soap.c
@@ -142,7 +142,7 @@ static int get_ip_data(struct soap_session *ps, SANE_Byte *data, SANE_Int maxLen
if (!ps->ip_handle)
{
- BUG("invalid ipconvert state\n");
+ BUG_SCAN("invalid ipconvert state\n");
goto bugout;
}
@@ -219,7 +219,7 @@ static struct soap_session *create_session()
if ((ps = malloc(sizeof(struct soap_session))) == NULL)
{
- BUG("malloc failed: %m\n");
+ BUG_SCAN("malloc failed: %m\n");
return NULL;
}
memset(ps, 0, sizeof(struct soap_session));
@@ -418,7 +418,7 @@ SANE_Status soap_open(SANE_String_Const device, SANE_Handle *handle)
if (session)
{
- BUG("session in use\n");
+ BUG_SCAN("session in use\n");
return SANE_STATUS_DEVICE_BUSY;
}
@@ -434,7 +434,7 @@ SANE_Status soap_open(SANE_String_Const device, SANE_Handle *handle)
if (hpmud_open_device(session->uri, ma.mfp_mode, &session->dd) != HPMUD_R_OK)
{
- BUG("unable to open device %s\n", session->uri);
+ BUG_SCAN("unable to open device %s\n", session->uri);
goto bugout;
free(session);
@@ -519,7 +519,7 @@ void soap_close(SANE_Handle handle)
if (ps == NULL || ps != session)
{
- BUG("invalid sane_close\n");
+ BUG_SCAN("invalid sane_close\n");
return;
}
@@ -824,7 +824,7 @@ SANE_Status soap_control_option(SANE_Handle handle, SANE_Int option, SANE_Action
if (stat != SANE_STATUS_GOOD)
{
- BUG("control_option failed: option=%s action=%s\n", ps->option[option].name,
+ BUG_SCAN("control_option failed: option=%s action=%s\n", ps->option[option].name,
action==SANE_ACTION_GET_VALUE ? "get" : action==SANE_ACTION_SET_VALUE ? "set" : "auto");
}
@@ -862,7 +862,7 @@ SANE_Status soap_start(SANE_Handle handle)
ps->user_cancel = 0;
if (set_extents(ps))
{
- BUG("invalid extents: tlx=%d brx=%d tly=%d bry=%d minwidth=%d minheight%d maxwidth=%d maxheight=%d\n",
+ BUG_SCAN("invalid extents: tlx=%d brx=%d tly=%d bry=%d minwidth=%d minheight%d maxwidth=%d maxheight=%d\n",
ps->currentTlx, ps->currentTly, ps->currentBrx, ps->currentBry, ps->min_width, ps->min_height, ps->tlxRange.max, ps->tlyRange.max);
stat = SANE_STATUS_INVAL;
goto bugout;
@@ -913,7 +913,7 @@ SANE_Status soap_start(SANE_Handle handle)
/* Open image processor. */
if ((ret = ipOpen(pXform-xforms, xforms, 0, &ps->ip_handle)) != IP_DONE)
{
- BUG("unable open image processor: err=%d\n", ret);
+ BUG_SCAN("unable open image processor: err=%d\n", ret);
stat = SANE_STATUS_INVAL;
goto bugout;
}
@@ -955,7 +955,7 @@ SANE_Status soap_start(SANE_Handle handle)
if (ret & (IP_INPUT_ERROR | IP_FATAL_ERROR | IP_DONE))
{
- BUG("ipConvert error=%x\n", ret);
+ BUG_SCAN("ipConvert error=%x\n", ret);
stat = SANE_STATUS_IO_ERROR;
goto bugout;
}
@@ -1007,7 +1007,7 @@ SANE_Status soap_read(SANE_Handle handle, SANE_Byte *data, SANE_Int maxLength, S
if(ret & (IP_INPUT_ERROR | IP_FATAL_ERROR))
{
- BUG("ipConvert error=%x\n", ret);
+ BUG_SCAN("ipConvert error=%x\n", ret);
goto bugout;
}
diff --git a/scan/sane/soapht.c b/scan/sane/soapht.c
index 269ab21..139100d 100644
--- a/scan/sane/soapht.c
+++ b/scan/sane/soapht.c
@@ -136,7 +136,7 @@ static int get_ip_data(struct soap_session *ps, SANE_Byte *data, SANE_Int maxLen
if (!ps->ip_handle)
{
- BUG("invalid ipconvert state\n");
+ BUG_SCAN("invalid ipconvert state\n");
goto bugout;
}
@@ -435,7 +435,7 @@ static struct soap_session *create_session()
if ((ps = malloc(sizeof(struct soap_session))) == NULL)
{
- BUG("malloc failed: %m\n");
+ BUG_SCAN("malloc failed: %m\n");
return NULL;
}
memset(ps, 0, sizeof(struct soap_session));
@@ -459,7 +459,7 @@ SANE_Status soapht_open(SANE_String_Const device, SANE_Handle *handle)
if (session)
{
- BUG("session in use\n");
+ BUG_SCAN("session in use\n");
return SANE_STATUS_DEVICE_BUSY;
}
@@ -475,7 +475,7 @@ SANE_Status soapht_open(SANE_String_Const device, SANE_Handle *handle)
if (hpmud_open_device(session->uri, ma.mfp_mode, &session->dd) != HPMUD_R_OK)
{
- BUG("unable to open device %s\n", session->uri);
+ BUG_SCAN("unable to open device %s\n", session->uri);
goto bugout;
free(session);
@@ -554,7 +554,7 @@ void soapht_close(SANE_Handle handle)
if (ps == NULL || ps != session)
{
- BUG("invalid sane_close\n");
+ BUG_SCAN("invalid sane_close\n");
return;
}
@@ -904,7 +904,7 @@ SANE_Status soapht_control_option(SANE_Handle handle, SANE_Int option, SANE_Acti
if (stat != SANE_STATUS_GOOD)
{
- BUG("control_option failed: option=%s action=%s\n", ps->option[option].name,
+ BUG_SCAN("control_option failed: option=%s action=%s\n", ps->option[option].name,
action==SANE_ACTION_GET_VALUE ? "get" : action==SANE_ACTION_SET_VALUE ? "set" : "auto");
}
@@ -946,7 +946,7 @@ SANE_Status soapht_start(SANE_Handle handle)
if (set_extents(ps))
{
- BUG("invalid extents: tlx=%d brx=%d tly=%d bry=%d minwidth=%d minheight%d maxwidth=%d maxheight=%d\n",
+ BUG_SCAN("invalid extents: tlx=%d brx=%d tly=%d bry=%d minwidth=%d minheight%d maxwidth=%d maxheight=%d\n",
ps->currentTlx, ps->currentTly, ps->currentBrx, ps->currentBry, ps->min_width, ps->min_height, ps->tlxRange.max, ps->tlyRange.max);
stat = SANE_STATUS_INVAL;
goto bugout;
@@ -1032,7 +1032,7 @@ SANE_Status soapht_start(SANE_Handle handle)
/* Open image processor. */
if ((ret = ipOpen(pXform-xforms, xforms, 0, &ps->ip_handle)) != IP_DONE)
{
- BUG("unable open image processor: err=%d\n", ret);
+ BUG_SCAN("unable open image processor: err=%d\n", ret);
stat = SANE_STATUS_INVAL;
goto bugout;
}
@@ -1075,7 +1075,7 @@ SANE_Status soapht_start(SANE_Handle handle)
if (ret & (IP_INPUT_ERROR | IP_FATAL_ERROR | IP_DONE))
{
- BUG("ipConvert error=%x\n", ret);
+ BUG_SCAN("ipConvert error=%x\n", ret);
stat = SANE_STATUS_IO_ERROR;
goto bugout;
}
@@ -1124,7 +1124,7 @@ SANE_Status soapht_read(SANE_Handle handle, SANE_Byte *data, SANE_Int maxLength,
if(ret & (IP_INPUT_ERROR | IP_FATAL_ERROR))
{
- BUG("ipConvert error=%x\n", ret);
+ BUG_SCAN("ipConvert error=%x\n", ret);
goto bugout;
}

View File

@ -7,7 +7,7 @@
Summary: HP Linux Imaging and Printing Project
Name: hplip
Version: 3.18.4
Release: 7%{?dist}
Release: 9%{?dist}
License: GPLv2+ and MIT and BSD and IJG and Public Domain and GPLv2+ with exceptions and ISC
Url: https://developers.hp.com/hp-linux-imaging-and-printing
@ -44,6 +44,7 @@ Patch27: hplip-check-cups.patch
Patch28: hplip-colorlaserjet-mfp-m278-m281.patch
Patch30: hplip-typo.patch
Patch31: hplip-keyserver.patch
Patch32: hplip-covscan.patch
Requires: %{name}-libs%{?_isa} = %{version}-%{release}
Requires: python3-pillow
@ -250,6 +251,9 @@ rm prnt/hpcups/ErnieFilter.{cpp,h} prnt/hpijs/ernieplatform.h
# 1649487 - Retrieve public key from pool of keyservers
%patch31 -p1 -b .keyserver
# 1602547 - Please review important issues found by covscan in "hplip-3.18.4-2.el8+7" package
%patch32 -p1 -b .covscan
sed -i.duplex-constraints \
-e 's,\(UIConstraints.* \*Duplex\),//\1,' \
prnt/drv/hpcups.drv.in
@ -534,6 +538,12 @@ rm -f %{buildroot}%{_sysconfdir}/xdg/autostart/hplip-systray.desktop
%config(noreplace) %{_sysconfdir}/sane.d/dll.d/hpaio
%changelog
* Fri Jun 14 2019 Tomas Korbar <tkorbar@redhat.com> - 3.18.4-9
- update patch for covscan bug rhbz#1602547
* Wed Jun 12 2019 Tomas Korbar <tkorbar@redhat.com> - 3.18.4-8
- 1602547 - Please review important issues found by covscan in "hplip-3.18.4-2.el8+7" package
* Tue Dec 04 2018 Zdenek Dohnal <zdohnal@redhat.com> - 3.18.4-7
- fixing rpmdiff license error found during errata checks for rhbz#1633680