Re: [PATCH gpgme] Fix an uninitialized variable.
Collin Funk via Gnupg-devel <[email protected]> Thu, 03 Jul 2025 20:42:43 -0700
| Newsgroups | gmane.comp.encryption.gpg.devel |
|---|---|
| Message-ID | <[email protected]> |
Collin Funk <[email protected]> writes: > * src/engine-gpg.c (gpg_getdirect): Initialize ERR to zero to satisfy > the loop condition. > > -- > > Fixes-commit: 0a64c7d0c6d0463cf2e06b3a01ef5be4d879bcf0 > Signed-off-by: Collin Funk <[email protected]> > --- > src/engine-gpg.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/src/engine-gpg.c b/src/engine-gpg.c > index b3399027..c6c5c4e6 100644 > --- a/src/engine-gpg.c > +++ b/src/engine-gpg.c > @@ -4226,7 +4226,7 @@ gpg_getdirect (void *engine, const char *argv[], > gpgme_data_t dataout, unsigned int flags) > { > engine_gpg_t gpg = engine; > - gpgme_error_t err; > + gpgme_error_t err = 0; > int i; > > if (!engine || !argv || !dataout || flags) Hi Werner, forgot to CC. Looks like this was from that commit a few months ago. The original code: gpgme_error_t err; int i; if (!engine || !argv || !dataout || flags) return gpg_error (GPG_ERR_INV_VALUE); for (i=0; !err && argv[i]; i++) if ((err = add_arg (gpg, argv[i]))) return err; Basically, the first iteration will always read an uninitialized variable. Seems mostly harmless and will probably mostly work, but UB is UB. :) Collin _______________________________________________ Gnupg-devel mailing list [email protected] https://lists.gnupg.org/mailman/listinfo/gnupg-devel
signature.asc
(application/pgp-signature, 832 B)
-----BEGIN PGP SIGNATURE----- iQIzBAEBCgAdFiEEI3EYVQjRMXvVeOXMjOZJGuMNfXUFAmhnTbMACgkQjOZJGuMN fXW6LhAAsVHleMRm0VBSi66PPAxI7OE6RgNoDRnqy9smYditydt9j4jQJd681paQ DQAd5Mmy9o8/YJmBAQI0ejeUuG2oGh4hMTbkYwsA3sNABOsf9poNlTSn541GbEFP Qz0FgGeNSsrqAQmXDBfxIFeCHCKpYAS8P4UYdXflQJw0bcLY6y+Wl8Zv9ZQrOf91 26//jWk1B1sD2J5+FtWlfq6N9RpnnpyiRd8itxyjX7kb2oYBSFwV3jQsqgj5JXlZ x2rcWud8MekFR5VgvXGH0SRn72Sz+Gt+DiTwM+o2TWsmNR2xu2FvDnkwpF0OUfHZ S/9dWtEg6UnY4kpU8/bAMZ/07j4Q65KcNZUeXKJ2dmjbzM+jY1ZuP0oJ5owgO/1k FTn0eocSmkILZmb6uGDIItPCToqvYsarv1SXVOPhWtniF7RmnNl2kxDap74eNNr0 rtDbAiP4KJTC6KFEFmlNHgJK2vb03I1YFnrVV2n0a4llDJPEzCfU1wh8u8LOfXKG xk7VvyePcv1rMbkwibdIyQlEONNGWgYRWzllzBKphjr5dfUo3tJffACWAQ5jPkQP AarU2764WMfZYY2gmXegUQdS3xvwcZJ+fExjdJ5w1rhDbvvg7+UvncIuRs3ZeDpE vJ++CD9buuMS4CtlXulcvo7B5johK6Wti20rPojlHu3nKQTkfBg= =MDiX -----END PGP SIGNATURE-----