gpgme-tool: Fix segv for external key listing.
authorWerner Koch <wk@gnupg.org>
Tue, 12 Aug 2014 15:42:08 +0000 (17:42 +0200)
committerWerner Koch <wk@gnupg.org>
Tue, 12 Aug 2014 15:42:08 +0000 (17:42 +0200)
* src/gpgme-tool.c (result_xml_escape): Allow for DATA being NULL.

src/gpgme-tool.c

index f02fffa..e1fd983 100644 (file)
@@ -831,14 +831,17 @@ result_xml_escape (const char *data, char **buf)
   membuf_t mb;
 
   init_membuf (&mb, 128);
-  data_len = strlen (data);
-  for (i = 0; i < data_len; i++)
+  if (data)
     {
-      r = result_xml_escape_replacement (data[i]);
-      if (r)
-        put_membuf (&mb, r, strlen (r));
-      else
-        put_membuf (&mb, data+i, 1);
+      data_len = strlen (data);
+      for (i = 0; i < data_len; i++)
+        {
+          r = result_xml_escape_replacement (data[i]);
+          if (r)
+            put_membuf (&mb, r, strlen (r));
+          else
+            put_membuf (&mb, data+i, 1);
+        }
     }
   put_membuf (&mb, "", 1);
   *buf = get_membuf (&mb, NULL);