}
// SHA-512
- r = EVP_DigestUpdate(sha512_ctx, buffer, bytes_read);
- if (r != 1) {
- ERROR(pakfire, "EVP_Digest_Update() failed: %s\n",
- ERR_error_string(ERR_get_error(), NULL));
- r = 1;
- goto ERROR;
+ if (sha512_ctx) {
+ r = EVP_DigestUpdate(sha512_ctx, buffer, bytes_read);
+ if (r != 1) {
+ ERROR(pakfire, "EVP_Digest_Update() failed: %s\n",
+ ERR_error_string(ERR_get_error(), NULL));
+ r = 1;
+ goto ERROR;
+ }
}
// SHA-256
- r = EVP_DigestUpdate(sha256_ctx, buffer, bytes_read);
+ if (sha256_ctx) {
+ r = EVP_DigestUpdate(sha256_ctx, buffer, bytes_read);
+ if (r != 1) {
+ ERROR(pakfire, "EVP_Digest_Update() failed: %s\n",
+ ERR_error_string(ERR_get_error(), NULL));
+ r = 1;
+ goto ERROR;
+ }
+ }
+ }
+
+ // Finalize SHA-512
+ if (sha512_ctx) {
+ r = EVP_DigestFinal_ex(sha512_ctx, digests->sha512, NULL);
if (r != 1) {
- ERROR(pakfire, "EVP_Digest_Update() failed: %s\n",
+ ERROR(pakfire, "EVP_DigestFinal_ex() failed: %s\n",
ERR_error_string(ERR_get_error(), NULL));
r = 1;
goto ERROR;
}
}
- // Finalize SHA-512
- r = EVP_DigestFinal_ex(sha512_ctx, digests->sha512, NULL);
- if (r != 1) {
- ERROR(pakfire, "EVP_DigestFinal_ex() failed: %s\n",
- ERR_error_string(ERR_get_error(), NULL));
- r = 1;
- goto ERROR;
- }
-
// Finalize SHA-256
- r = EVP_DigestFinal_ex(sha256_ctx, digests->sha256, NULL);
- if (r != 1) {
- ERROR(pakfire, "EVP_DigestFinal_ex() failed: %s\n",
- ERR_error_string(ERR_get_error(), NULL));
- r = 1;
- goto ERROR;
+ if (sha256_ctx) {
+ r = EVP_DigestFinal_ex(sha256_ctx, digests->sha256, NULL);
+ if (r != 1) {
+ ERROR(pakfire, "EVP_DigestFinal_ex() failed: %s\n",
+ ERR_error_string(ERR_get_error(), NULL));
+ r = 1;
+ goto ERROR;
+ }
}
ERROR: