]> granicus.if.org Git - curl/commitdiff
schannel: fix compiler warnings
authorMichael Kaufmann <mail@michael-kaufmann.ch>
Wed, 7 Feb 2018 20:39:26 +0000 (21:39 +0100)
committerMichael Kaufmann <mail@michael-kaufmann.ch>
Thu, 8 Feb 2018 21:31:45 +0000 (22:31 +0100)
Closes #2296

lib/vtls/schannel.c

index 2574d0ff5c88e780f752d649e5463e6042875b9b..76f9b22cfadde69b24757f1368889935f0f3789c 100644 (file)
@@ -1696,7 +1696,7 @@ static CURLcode pkp_pin_peer_pubkey(struct connectdata *conn, int sockindex,
   struct ssl_connect_data *connssl = &conn->ssl[sockindex];
   CERT_CONTEXT *pCertContextServer = NULL;
   const char *x509_der;
-  int x509_der_len;
+  DWORD x509_der_len;
   curl_X509certificate x509_parsed;
   curl_asn1Element *pubkey;
 
@@ -1723,7 +1723,7 @@ static CURLcode pkp_pin_peer_pubkey(struct connectdata *conn, int sockindex,
        (pCertContextServer->cbCertEncoded > 0)))
       break;
 
-    x509_der = pCertContextServer->pbCertEncoded;
+    x509_der = (const char *)pCertContextServer->pbCertEncoded;
     x509_der_len = pCertContextServer->cbCertEncoded;
     memset(&x509_parsed, 0, sizeof x509_parsed);
     if(Curl_parseX509(&x509_parsed, x509_der, x509_der + x509_der_len))
@@ -1894,19 +1894,21 @@ static void Curl_schannel_checksum(const unsigned char *input,
                       size_t inputlen,
                       unsigned char *checksum,
                       size_t checksumlen,
-                      const unsigned char *pszProvider,
+                      DWORD provType,
                       const unsigned int algId)
 {
   HCRYPTPROV hProv = 0;
   HCRYPTHASH hHash = 0;
-  size_t cbHashSize = 0, dwCount = sizeof(size_t);
+  DWORD cbHashSize = 0;
+  DWORD dwHashSizeLen = (DWORD)sizeof(cbHashSize);
+  DWORD dwChecksumLen = (DWORD)checksumlen;
 
   /* since this can fail in multiple ways, zero memory first so we never
    * return old data
    */
   memset(checksum, 0, checksumlen);
 
-  if(!CryptAcquireContext(&hProv, NULL, NULL, pszProvider,
+  if(!CryptAcquireContext(&hProv, NULL, NULL, provType,
                           CRYPT_VERIFYCONTEXT))
     return; /* failed */
 
@@ -1914,19 +1916,19 @@ static void Curl_schannel_checksum(const unsigned char *input,
     if(!CryptCreateHash(hProv, algId, 0, 0, &hHash))
       break; /* failed */
 
-    if(!CryptHashData(hHash, (const BYTE*) input, inputlen, 0))
+    if(!CryptHashData(hHash, (const BYTE*)input, (DWORD)inputlen, 0))
       break; /* failed */
 
     /* get hash size */
     if(!CryptGetHashParam(hHash, HP_HASHSIZE, (BYTE *)&cbHashSize,
-                          &dwCount, 0))
+                          &dwHashSizeLen, 0))
       break; /* failed */
 
     /* check hash size */
     if(checksumlen < cbHashSize)
       break; /* failed */
 
-    if(CryptGetHashParam(hHash, HP_HASHVAL, checksum, &checksumlen, 0))
+    if(CryptGetHashParam(hHash, HP_HASHVAL, checksum, &dwChecksumLen, 0))
       break; /* failed */
   } while(0);
 
@@ -1937,16 +1939,17 @@ static void Curl_schannel_checksum(const unsigned char *input,
     CryptReleaseContext(hProv, 0);
 }
 
-void Curl_schannel_md5sum(unsigned char *input,
+CURLcode Curl_schannel_md5sum(unsigned char *input,
                            size_t inputlen,
                            unsigned char *md5sum,
                            size_t md5len)
 {
     Curl_schannel_checksum(input, inputlen, md5sum, md5len,
                            PROV_RSA_FULL, CALG_MD5);
+    return CURLE_OK;
 }
 
-void Curl_schannel_sha256sum(unsigned char *input,
+void Curl_schannel_sha256sum(const unsigned char *input,
                            size_t inputlen,
                            unsigned char *sha256sum,
                            size_t sha256len)