projects
/
onak.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fix the size of the hash array when checking sig hashes
[onak.git]
/
sigcheck.c
diff --git
a/sigcheck.c
b/sigcheck.c
index fc046266248df3d8dd98d6f127758a1c6d163189..852b53b3784a578d5d41c933b1b5b8cc2656f331 100644
(file)
--- a/
sigcheck.c
+++ b/
sigcheck.c
@@
-57,7
+57,7
@@
int check_packet_sighash(struct openpgp_publickey *key,
uint8_t keyheader[3];
uint8_t packetheader[5];
uint8_t v4trailer[6];
uint8_t keyheader[3];
uint8_t packetheader[5];
uint8_t v4trailer[6];
- uint8_t hash[
20
];
+ uint8_t hash[
64
];
uint8_t *hashdata[8];
size_t hashlen[8];
int chunks, i;
uint8_t *hashdata[8];
size_t hashlen[8];
int chunks, i;
@@
-173,10
+173,11
@@
int check_packet_sighash(struct openpgp_publickey *key,
hashdata[i]);
}
sha224_digest(&sha224_context, SHA224_DIGEST_SIZE, hash);
hashdata[i]);
}
sha224_digest(&sha224_context, SHA224_DIGEST_SIZE, hash);
+ break;
#else
logthing(LOGTHING_INFO, "SHA224 support not available.");
#else
logthing(LOGTHING_INFO, "SHA224 support not available.");
+ return -1;
#endif
#endif
- break;
case OPENPGP_HASH_SHA256:
#ifdef NETTLE_WITH_SHA256
sha256_init(&sha256_context);
case OPENPGP_HASH_SHA256:
#ifdef NETTLE_WITH_SHA256
sha256_init(&sha256_context);
@@
-185,10
+186,11
@@
int check_packet_sighash(struct openpgp_publickey *key,
hashdata[i]);
}
sha256_digest(&sha256_context, SHA256_DIGEST_SIZE, hash);
hashdata[i]);
}
sha256_digest(&sha256_context, SHA256_DIGEST_SIZE, hash);
+ break;
#else
logthing(LOGTHING_INFO, "SHA256 support not available.");
#else
logthing(LOGTHING_INFO, "SHA256 support not available.");
+ return -1;
#endif
#endif
- break;
case OPENPGP_HASH_SHA384:
#ifdef NETTLE_WITH_SHA384
sha384_init(&sha384_context);
case OPENPGP_HASH_SHA384:
#ifdef NETTLE_WITH_SHA384
sha384_init(&sha384_context);
@@
-197,10
+199,11
@@
int check_packet_sighash(struct openpgp_publickey *key,
hashdata[i]);
}
sha384_digest(&sha384_context, SHA384_DIGEST_SIZE, hash);
hashdata[i]);
}
sha384_digest(&sha384_context, SHA384_DIGEST_SIZE, hash);
+ break;
#else
logthing(LOGTHING_INFO, "SHA384 support not available.");
#else
logthing(LOGTHING_INFO, "SHA384 support not available.");
+ return -1;
#endif
#endif
- break;
case OPENPGP_HASH_SHA512:
#ifdef NETTLE_WITH_SHA512
sha512_init(&sha512_context);
case OPENPGP_HASH_SHA512:
#ifdef NETTLE_WITH_SHA512
sha512_init(&sha512_context);
@@
-209,10
+212,11
@@
int check_packet_sighash(struct openpgp_publickey *key,
hashdata[i]);
}
sha512_digest(&sha512_context, SHA512_DIGEST_SIZE, hash);
hashdata[i]);
}
sha512_digest(&sha512_context, SHA512_DIGEST_SIZE, hash);
+ break;
#else
logthing(LOGTHING_INFO, "SHA512 support not available.");
#else
logthing(LOGTHING_INFO, "SHA512 support not available.");
+ return -1;
#endif
#endif
- break;
default:
logthing(LOGTHING_ERROR, "Unsupported signature hash type %d",
hashtype);
default:
logthing(LOGTHING_ERROR, "Unsupported signature hash type %d",
hashtype);