[BACK]Return to misc.c CVS log [TXT][DIR] Up to [local] / src / usr.bin / ssh

Diff for /src/usr.bin/ssh/misc.c between version 1.107 and 1.108

version 1.107, 2016/11/30 00:28:31 version 1.108, 2017/03/14 00:25:03
Line 289 
Line 289 
 long  long
 convtime(const char *s)  convtime(const char *s)
 {  {
         long total, secs;          long total, secs, multiplier = 1;
         const char *p;          const char *p;
         char *endp;          char *endp;
   
Line 316 
Line 316 
                         break;                          break;
                 case 'm':                  case 'm':
                 case 'M':                  case 'M':
                         secs *= MINUTES;                          multiplier = MINUTES;
                         break;                          break;
                 case 'h':                  case 'h':
                 case 'H':                  case 'H':
                         secs *= HOURS;                          multiplier = HOURS;
                         break;                          break;
                 case 'd':                  case 'd':
                 case 'D':                  case 'D':
                         secs *= DAYS;                          multiplier = DAYS;
                         break;                          break;
                 case 'w':                  case 'w':
                 case 'W':                  case 'W':
                         secs *= WEEKS;                          multiplier = WEEKS;
                         break;                          break;
                 default:                  default:
                         return -1;                          return -1;
                 }                  }
                   if (secs > LONG_MAX / multiplier)
                           return -1;
                   secs *= multiplier;
                   if  (total > LONG_MAX - secs)
                           return -1;
                 total += secs;                  total += secs;
                 if (total < 0)                  if (total < 0)
                         return -1;                          return -1;

Legend:
Removed from v.1.107  
changed lines
  Added in v.1.108