From: leslie Date: Wed, 1 Apr 2009 10:54:08 +0000 (+0800) Subject: smartcards: fix div/zero for clock=0 from config X-Git-Tag: 0.9.2~43 X-Git-Url: http://www.vanbest.org/gitweb/?a=commitdiff_plain;h=a799aace2906cf1f67399e8c2d836cb5c2d3d171;p=sasc-ng.git smartcards: fix div/zero for clock=0 from config --- 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) {