fix clang compiler warnings
This commit is contained in:
		
							parent
							
								
									a667a93d52
								
							
						
					
					
						commit
						fb65cd0772
					
				@ -50,9 +50,12 @@ int der_decode_sequence_ex(const unsigned char *in, unsigned long  inlen,
 | 
			
		||||
   }
 | 
			
		||||
   ++x;
 | 
			
		||||
 | 
			
		||||
   /* check if the msb is set, which signals that the
 | 
			
		||||
    * 7 lsb bits represent the number of bytes of the length
 | 
			
		||||
    */
 | 
			
		||||
   if (in[x] < 128) {
 | 
			
		||||
      blksize = in[x++];
 | 
			
		||||
   } else if (in[x] & 0x80) {
 | 
			
		||||
   } else {
 | 
			
		||||
      if (in[x] < 0x81 || in[x] > 0x83) {
 | 
			
		||||
         return CRYPT_INVALID_PACKET;
 | 
			
		||||
      }
 | 
			
		||||
 | 
			
		||||
@ -343,7 +343,7 @@ int dh_sign_hash(const unsigned char *in,  unsigned long inlen,
 | 
			
		||||
   if (prng_descriptor[wprng].read(buf, sets[key->idx].size, prng) !=
 | 
			
		||||
       (unsigned long)(sets[key->idx].size)) {
 | 
			
		||||
      err = CRYPT_ERROR_READPRNG;
 | 
			
		||||
      goto LBL_ERR;
 | 
			
		||||
      goto LBL_ERR_1;
 | 
			
		||||
   }
 | 
			
		||||
 | 
			
		||||
   /* init bignums */
 | 
			
		||||
@ -352,23 +352,23 @@ int dh_sign_hash(const unsigned char *in,  unsigned long inlen,
 | 
			
		||||
   }
 | 
			
		||||
 | 
			
		||||
   /* load k and m */
 | 
			
		||||
   if ((err = mp_read_unsigned_bin(m, (unsigned char *)in, inlen)) != CRYPT_OK)        { goto error; }
 | 
			
		||||
   if ((err = mp_read_unsigned_bin(k, buf, sets[key->idx].size)) != CRYPT_OK)          { goto error; }
 | 
			
		||||
   if ((err = mp_read_unsigned_bin(m, (unsigned char *)in, inlen)) != CRYPT_OK)        { goto LBL_ERR; }
 | 
			
		||||
   if ((err = mp_read_unsigned_bin(k, buf, sets[key->idx].size)) != CRYPT_OK)          { goto LBL_ERR; }
 | 
			
		||||
 | 
			
		||||
   /* load g, p and p1 */
 | 
			
		||||
   if ((err = mp_read_radix(g, sets[key->idx].base, 64)) != CRYPT_OK)               { goto error; }
 | 
			
		||||
   if ((err = mp_read_radix(p, sets[key->idx].prime, 64)) != CRYPT_OK)              { goto error; }
 | 
			
		||||
   if ((err = mp_sub_d(p, 1, p1)) != CRYPT_OK)                                     { goto error; }
 | 
			
		||||
   if ((err = mp_div_2(p1, p1)) != CRYPT_OK)                                       { goto error; } /* p1 = (p-1)/2 */
 | 
			
		||||
   if ((err = mp_read_radix(g, sets[key->idx].base, 64)) != CRYPT_OK)               { goto LBL_ERR; }
 | 
			
		||||
   if ((err = mp_read_radix(p, sets[key->idx].prime, 64)) != CRYPT_OK)              { goto LBL_ERR; }
 | 
			
		||||
   if ((err = mp_sub_d(p, 1, p1)) != CRYPT_OK)                                     { goto LBL_ERR; }
 | 
			
		||||
   if ((err = mp_div_2(p1, p1)) != CRYPT_OK)                                       { goto LBL_ERR; } /* p1 = (p-1)/2 */
 | 
			
		||||
 | 
			
		||||
   /* now get a = g^k mod p */
 | 
			
		||||
   if ((err = mp_exptmod(g, k, p, a)) != CRYPT_OK)                               { goto error; }
 | 
			
		||||
   if ((err = mp_exptmod(g, k, p, a)) != CRYPT_OK)                               { goto LBL_ERR; }
 | 
			
		||||
 | 
			
		||||
   /* now find M = xa + kb mod p1 or just b = (M - xa)/k mod p1 */
 | 
			
		||||
   if ((err = mp_invmod(k, p1, k)) != CRYPT_OK)                                   { goto error; } /* k = 1/k mod p1 */
 | 
			
		||||
   if ((err = mp_mulmod(a, key->x, p1, tmp)) != CRYPT_OK)                        { goto error; } /* tmp = xa */
 | 
			
		||||
   if ((err = mp_submod(m, tmp, p1, tmp)) != CRYPT_OK)                           { goto error; } /* tmp = M - xa */
 | 
			
		||||
   if ((err = mp_mulmod(k, tmp, p1, b)) != CRYPT_OK)                             { goto error; } /* b = (M - xa)/k */
 | 
			
		||||
   if ((err = mp_invmod(k, p1, k)) != CRYPT_OK)                                   { goto LBL_ERR; } /* k = 1/k mod p1 */
 | 
			
		||||
   if ((err = mp_mulmod(a, key->x, p1, tmp)) != CRYPT_OK)                        { goto LBL_ERR; } /* tmp = xa */
 | 
			
		||||
   if ((err = mp_submod(m, tmp, p1, tmp)) != CRYPT_OK)                           { goto LBL_ERR; } /* tmp = M - xa */
 | 
			
		||||
   if ((err = mp_mulmod(k, tmp, p1, b)) != CRYPT_OK)                             { goto LBL_ERR; } /* b = (M - xa)/k */
 | 
			
		||||
 | 
			
		||||
   /* check for overflow */
 | 
			
		||||
   if ((unsigned long)(PACKET_SIZE + 4 + 4 + mp_unsigned_bin_size(a) + mp_unsigned_bin_size(b)) > *outlen) {
 | 
			
		||||
@ -382,12 +382,12 @@ int dh_sign_hash(const unsigned char *in,  unsigned long inlen,
 | 
			
		||||
   /* now store them both (a,b) */
 | 
			
		||||
   x = (unsigned long)mp_unsigned_bin_size(a);
 | 
			
		||||
   STORE32L(x, out+y);  y += 4;
 | 
			
		||||
   if ((err = mp_to_unsigned_bin(a, out+y)) != CRYPT_OK)                            { goto error; }
 | 
			
		||||
   if ((err = mp_to_unsigned_bin(a, out+y)) != CRYPT_OK)                            { goto LBL_ERR; }
 | 
			
		||||
   y += x;
 | 
			
		||||
 | 
			
		||||
   x = (unsigned long)mp_unsigned_bin_size(b);
 | 
			
		||||
   STORE32L(x, out+y);  y += 4;
 | 
			
		||||
   if ((err = mp_to_unsigned_bin(b, out+y)) != CRYPT_OK)                            { goto error; }
 | 
			
		||||
   if ((err = mp_to_unsigned_bin(b, out+y)) != CRYPT_OK)                            { goto LBL_ERR; }
 | 
			
		||||
   y += x;
 | 
			
		||||
 | 
			
		||||
   /* check if size too big */
 | 
			
		||||
@ -401,10 +401,9 @@ int dh_sign_hash(const unsigned char *in,  unsigned long inlen,
 | 
			
		||||
   *outlen = y;
 | 
			
		||||
 | 
			
		||||
   err = CRYPT_OK;
 | 
			
		||||
   goto LBL_ERR;
 | 
			
		||||
error:
 | 
			
		||||
LBL_ERR:
 | 
			
		||||
   mp_clear_multi(tmp, p1, g, p, m, k, b, a, NULL);
 | 
			
		||||
LBL_ERR_1:
 | 
			
		||||
 | 
			
		||||
   XFREE(buf);
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user