diff options
| author | Werner Koch <[email protected]> | 2014-08-12 15:42:08 +0000 | 
|---|---|---|
| committer | Werner Koch <[email protected]> | 2014-08-12 15:42:08 +0000 | 
| commit | e5ab11607281b9838da2728268a8f9f0daa2b04d (patch) | |
| tree | 7680ec672a578fd3a857e6150ffcd0e5e5f10388 | |
| parent | Post release updates. (diff) | |
| download | gpgme-e5ab11607281b9838da2728268a8f9f0daa2b04d.tar.gz gpgme-e5ab11607281b9838da2728268a8f9f0daa2b04d.zip | |
gpgme-tool: Fix segv for external key listing.
* src/gpgme-tool.c (result_xml_escape): Allow for DATA being NULL.
| -rw-r--r-- | src/gpgme-tool.c | 17 | 
1 files changed, 10 insertions, 7 deletions
| diff --git a/src/gpgme-tool.c b/src/gpgme-tool.c index f02fffa7..e1fd9832 100644 --- a/src/gpgme-tool.c +++ b/src/gpgme-tool.c @@ -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); | 
