Re: [PATCH] cipher:pk:sexp: Remove bogus checks in SEXP parsing.
Collin Funk via Gcrypt-devel <[email protected]> Tue, 17 Jun 2025 19:20:38 -0700
| Newsgroups | gmane.comp.encryption.gpg.libgcrypt.devel |
|---|---|
| Message-ID | <[email protected]> |
Jacob Bachmeyer via Gcrypt-devel <[email protected]> writes: > NACK! NACK! NACK! > > Those are checks for integer overflow. (They may even be correct if > VALUELEN is unsigned.) > > If VALUELEN is a signed type, they are undefined behavior and need to > be fixed, not removed. It is a size_t so it is unsigned. But it looks harmless to remove to me. The call to 'malloc' in '_gcry_sexp_nth_buffer' will fail before VALUELEN overflows. Here is an example program: $ cat main.c #include <stdint.h> #include <stdlib.h> #include <stdio.h> #include <string.h> #include <errno.h> int main (void) { char *p = malloc (SIZE_MAX / 8 / 2); if (p) abort (); printf ("%s\n", strerror (errno)); return 0; } $ gcc main.c $ ./a.out Cannot allocate memory Collin _______________________________________________ Gcrypt-devel mailing list [email protected] https://lists.gnupg.org/mailman/listinfo/gcrypt-devel
signature.asc
(application/pgp-signature, 832 B)
-----BEGIN PGP SIGNATURE----- iQIzBAEBCgAdFiEEI3EYVQjRMXvVeOXMjOZJGuMNfXUFAmhSInYACgkQjOZJGuMN fXU1sQ/+JK08n18+/Ap2wR5QvG92aBW7oVqCvwh/3+kDUnlEgw/Jdhg5ZLmBBIUR 9zpNFIhrpYhxlS0EdI47/Aezv3xUIJMG89L2KvKeOBpQ0jezHTgImzIwitsrB50o wKOaAmxJ+Le1hAirfzKkUW+KpM/+2RTbEoe0POLvNJXbxQi1HN65TAqz9KTVj30H KCzo17M26FTURigXzl19RbXDF2OdrHffVXb6Rv7cuXn+LtkXXvEAJG2RL6/l3dep bOaSaLhVEyk+4M8nxvW35aI6/PLAOh5InvIgtlIuQkOQXNda5Uq4tEsOjtZrVS5P pPijUjftgzVUl1SOxLUwZLb0uKs8/f9Wy4EJVIPk7ZyH8LzAT8AsuhNwywnLgVnx 5GKbYGKZaBKKwb1JUeR5InkYiGmPwsa4z2M0Ibclnao0zwZxinGnJHZhwvfwOXJ6 fSn4idKLk2FSCfZGqPLXXA9uHzLbEeBCSYP+qfHAwLLEDiVa8Q0WDJ6cEfxz59MI 419ZvKPIETOBAMFEJ/aYIDx0eBCHsOd23DCXAWY2eoXghtNQtZTJ3fsnc+MIkluP 8Z+gRVmJ9VoHkKf3K6nwGojh+iTSaa9DQOQCclMkkCQbacvTAJW5xisES4TK7otM 6QAKTMbzVc+oVCLemOs8jj+ULzvnKam394RA2ecILsgx+i2bXI4= =3wNn -----END PGP SIGNATURE-----