From b8bb16c6c08d3c2947f1ff67419b36eb203c5c1a Mon Sep 17 00:00:00 2001 From: NIIBE Yutaka Date: Tue, 26 Jan 2016 11:12:33 +0900 Subject: [PATCH] g10: Fix segfault on unsupported curve. * g10/call-agent.c (learn_status_cb): Don't use NULL for strcmp. -- With libgcrypt not supporting cv25519, gpg segfaults. Signed-off-by: NIIBE Yutaka --- g10/call-agent.c | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/g10/call-agent.c b/g10/call-agent.c index 1d7ff577b..d9e48598e 100644 --- a/g10/call-agent.c +++ b/g10/call-agent.c @@ -701,14 +701,10 @@ learn_status_cb (void *opaque, const char *line) { const char *curve; - i = 0; - do - { - curve = openpgp_enum_curves (&i); - if (!strcmp (curve, line+n)) - break; - } - while (curve != NULL); + for (i = 0; (curve = openpgp_enum_curves (&i));) + if (!strcmp (curve, line+n)) + break; + parm->key_attr[keyno].curve = curve; } }