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

Diff for /src/usr.bin/ssh/ssh-pkcs11.c between version 1.59 and 1.60

version 1.59, 2023/07/27 22:26:49 version 1.60, 2024/04/02 09:32:28
Line 1361 
Line 1361 
 }  }
   
 static int  static int
   h2i(char c)
   {
           if (c >= '0' && c <= '9')
                   c -= '0';
           else if (c >= 'a' && c <= 'f')
                   c -= 'a';
           else if (c >= 'A' && c <= 'F')
                   c -= 'A';
           else
                   return -1;
           return c;
   }
   
   static int
 pkcs11_decode_hex(const char *hex, unsigned char **dest, size_t *rlen)  pkcs11_decode_hex(const char *hex, unsigned char **dest, size_t *rlen)
 {  {
         size_t  i, len;          size_t  i, len;
Line 1379 
Line 1393 
   
         ptr[2] = '\0';          ptr[2] = '\0';
         for (i = 0; i < len; i++) {          for (i = 0; i < len; i++) {
                 ptr[0] = hex[2 * i];                  int hi, low;
                 ptr[1] = hex[(2 * i) + 1];  
                 if (!isxdigit(ptr[0]) || !isxdigit(ptr[1]))                  hi = h2i(hex[2 * i]);
                   lo = h2i(hex[(2 * i) + 1]);
                   if (hi == -1 || lo == -1)
                         return -1;                          return -1;
                 (*dest)[i] = (unsigned char)strtoul(ptr, NULL, 16);                  (*dest)[i] = (hi << 4) | lo;
         }          }
   
         if (rlen)          if (rlen)

Legend:
Removed from v.1.59  
changed lines
  Added in v.1.60