Module Name: src Committed By: rillig Date: Sat Aug 27 08:35:01 UTC 2022
Modified Files: src/crypto/external/bsd/netpgp/dist/src/lib: netpgp.c Log Message: netpgp: fix use after free when writing keyring Same pattern as in the previous commit. To generate a diff of this commit: cvs rdiff -u -r1.104 -r1.105 \ src/crypto/external/bsd/netpgp/dist/src/lib/netpgp.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/crypto/external/bsd/netpgp/dist/src/lib/netpgp.c diff -u src/crypto/external/bsd/netpgp/dist/src/lib/netpgp.c:1.104 src/crypto/external/bsd/netpgp/dist/src/lib/netpgp.c:1.105 --- src/crypto/external/bsd/netpgp/dist/src/lib/netpgp.c:1.104 Sat Aug 27 08:30:06 2022 +++ src/crypto/external/bsd/netpgp/dist/src/lib/netpgp.c Sat Aug 27 08:35:01 2022 @@ -34,7 +34,7 @@ #if defined(__NetBSD__) __COPYRIGHT("@(#) Copyright (c) 2009 The NetBSD Foundation, Inc. All rights reserved."); -__RCSID("$NetBSD: netpgp.c,v 1.104 2022/08/27 08:30:06 rillig Exp $"); +__RCSID("$NetBSD: netpgp.c,v 1.105 2022/08/27 08:35:01 rillig Exp $"); #endif #include <sys/types.h> @@ -317,8 +317,8 @@ writekeyring(netpgp_t *netpgp, const cha filename = keyringfile(netpgp, name); if (!pgp_keyring_filewrite(keyring, noarmor, filename, passphrase)) { - free(filename); (void) fprintf(stderr, "Can't write %s %s\n", name, filename); + free(filename); return 0; } netpgp_setvar(netpgp, name, filename);