From 600e69b46149872c279c153dc7a757106c64cc03 Mon Sep 17 00:00:00 2001 From: Werner Koch Date: Thu, 5 May 2022 09:04:28 +0200 Subject: scd:openpgp: Fix a segv for cards supporting unknown curves. * common/openpgp-oid.c (get_keyalgo_string): Do not strdup NULL. -- Cherry pick 2.4/master commit of: 385f4841330e277949ddf2f13939b97481d2d29c GnuPG-bug-id: 5963 --- common/openpgp-oid.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/common/openpgp-oid.c b/common/openpgp-oid.c index 9d8b2d351..1e5dc4a3a 100644 --- a/common/openpgp-oid.c +++ b/common/openpgp-oid.c @@ -580,7 +580,7 @@ get_keyalgo_string (enum gcry_pk_algos algo, for (i=0; i < keyalgo_strings_used; i++) { if (keyalgo_strings[i].algo == algo - && keyalgo_strings[i].curve + && keyalgo_strings[i].curve && curve && !strcmp (keyalgo_strings[i].curve, curve)) return keyalgo_strings[i].name; } @@ -594,7 +594,7 @@ get_keyalgo_string (enum gcry_pk_algos algo, else name = xasprintf ("E_error"); nbits = 0; - curvebuf = xstrdup (curve); + curvebuf = curve? xstrdup (curve) : NULL; } else { -- cgit v1.2.3