diff options
| author | Collin Funk via Gnupg-devel <[email protected]> | 2025-05-24 08:52:46 +0200 |
|---|---|---|
| committer | Werner Koch <[email protected]> | 2025-06-11 14:45:16 +0200 |
| commit | e414c09b086fd4b5fb34043c9ab8487963f77079 (patch) | |
| tree | 9331c2e729d6e9b2119d5215db958e2569e55584 | |
| parent | gpg: Fully implement the group key flag. (diff) | |
| download | gnupg-bugfixes-2.2.tar.gz gnupg-bugfixes-2.2.zip | |
common: Fix read buffer over-read in uncompress_ecc_q_in_canon_sexp.bugfixes-2.2
* common/sexputil.c (uncompress_ecc_q_in_canon_sexp): Only call memcmp
if the lengths are equal.
--
GnuPG-bug-id: 7662
Signed-off-by: Collin Funk <[email protected]>
| -rw-r--r-- | common/sexputil.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/common/sexputil.c b/common/sexputil.c index b97e174a1..349c38333 100644 --- a/common/sexputil.c +++ b/common/sexputil.c @@ -784,11 +784,11 @@ uncompress_ecc_q_in_canon_sexp (const unsigned char *keydata, return err; if (!tok) return gpg_error (GPG_ERR_BAD_PUBKEY); - else if (toklen == 10 || !memcmp ("public-key", tok, toklen)) + else if (toklen == 10 && !memcmp ("public-key", tok, toklen)) ; - else if (toklen == 11 || !memcmp ("private-key", tok, toklen)) + else if (toklen == 11 && !memcmp ("private-key", tok, toklen)) ; - else if (toklen == 20 || !memcmp ("shadowed-private-key", tok, toklen)) + else if (toklen == 20 && !memcmp ("shadowed-private-key", tok, toklen)) ; else return gpg_error (GPG_ERR_BAD_PUBKEY); |
