aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWerner Koch <[email protected]>2022-05-05 07:04:28 +0000
committerNIIBE Yutaka <[email protected]>2023-11-07 08:47:11 +0000
commit600e69b46149872c279c153dc7a757106c64cc03 (patch)
tree201c8cc3b714b24d10bf54f22ff477de6662faae
parentw32: Use utf8 for the asctimestamp function. (diff)
downloadgnupg-600e69b46149872c279c153dc7a757106c64cc03.tar.gz
gnupg-600e69b46149872c279c153dc7a757106c64cc03.zip
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
-rw-r--r--common/openpgp-oid.c4
1 files 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
{