diff --git a/src/mbedtls_pkcs7.c b/src/mbedtls_pkcs7.c index 90895c6cd9b7adae1a894efed470304ffdce3d0c..ac98de6c71721ac1998e990775fd0f78a51e92fc 100755 --- a/src/mbedtls_pkcs7.c +++ b/src/mbedtls_pkcs7.c @@ -400,7 +400,7 @@ static int ParseSignedDataSignerInfos(unsigned char **p, const unsigned char *en PKCS7_ERR_RETURN_WITH_LOG(rc); if (*p < end) { - signers->next = Pkcs7Calloc(1, sizeof(*signers)); + signers->next = Pkcs7Calloc(1, sizeof(SignerInfo)); if (signers->next == NULL) { /* release resource in main entry. */ return PKCS7_MEMORY_EXHAUST; @@ -516,7 +516,7 @@ static int ParseSignedDataCerts(unsigned char **p, const unsigned char *end, mbe LOG_ERROR("Has no certificates in signed data."); return PKCS7_SUCC; } - *certs = mbedtls_calloc(1, sizeof(**certs)); + *certs = mbedtls_calloc(1, sizeof(mbedtls_x509_crt)); if (*certs == NULL) { return PKCS7_MEMORY_EXHAUST; } @@ -1106,7 +1106,7 @@ SignersResovedInfo *PKCS7_GetAllSignersResolvedInfo(const Pkcs7 *pkcs7) if (signersCnt == 0) { return NULL; } - sri = Pkcs7Calloc(1, sizeof(*sri)); + sri = Pkcs7Calloc(1, sizeof(SignersResovedInfo)); if (sri == NULL) { return NULL; }