From a799aace2906cf1f67399e8c2d836cb5c2d3d171 Mon Sep 17 00:00:00 2001 From: leslie Date: Wed, 1 Apr 2009 18:54:08 +0800 Subject: [PATCH] smartcards: fix div/zero for clock=0 from config --- smartcard.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/smartcard.c b/smartcard.c index aa4c36b..448fc36 100644 --- a/smartcard.c +++ b/smartcard.c @@ -683,6 +683,7 @@ bool cSmartCardSlotSerial::DeviceOpen(const char *cfg) { int invCD=0; if(sscanf(cfg,"%255[^:]:%d:%d:%d",devName,&invCD,&invRST,&clock)>=3) { + if(clock<=0) clock=ISO_FREQ; statInv=invCD ? TIOCM_CAR:0; PRINTF(L_CORE_SERIAL,"%s: open serial port",devName); fd=open(devName,O_RDWR|O_NONBLOCK|O_NOCTTY); @@ -979,7 +980,7 @@ cSmartCardSlotSRPlus::cSmartCardSlotSRPlus(void) bool cSmartCardSlotSRPlus::DeviceOpen(const char *cfg) { if(sscanf(cfg,"%255[^:]:%d",devName,&clock)>=1) { - if(clock==0) clock=ISO_FREQ; + if(clock<=0) clock=ISO_FREQ; PRINTF(L_CORE_SERIAL,"%s: open serial port",devName); fd=open(devName,O_RDWR|O_NONBLOCK|O_NOCTTY); if(fd>=0) { -- 2.39.5