aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNIIBE Yutaka <[email protected]>2016-01-26 02:12:33 +0000
committerNIIBE Yutaka <[email protected]>2016-01-26 02:12:33 +0000
commitb8bb16c6c08d3c2947f1ff67419b36eb203c5c1a (patch)
tree6d7f630277dd60b7d0a42fe2ed0628e4f49a46e4
parentsm: small fix for GCC 6. (diff)
downloadgnupg-b8bb16c6c08d3c2947f1ff67419b36eb203c5c1a.tar.gz
gnupg-b8bb16c6c08d3c2947f1ff67419b36eb203c5c1a.zip
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 <[email protected]>
-rw-r--r--g10/call-agent.c12
1 files 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;
}
}