common: Minor change of hex2str to allow for embedded nul.
authorWerner Koch <wk@gnupg.org>
Thu, 23 Apr 2015 12:31:04 +0000 (14:31 +0200)
committerWerner Koch <wk@gnupg.org>
Thu, 23 Apr 2015 13:51:51 +0000 (15:51 +0200)
commitce11cc39ea7e011040debc9339a2310a714efe7e
treef53bc9939b00a857e70270b9cd4ac55303ba2933
parenta7264e3a6a83189a9e43edf5e99f5ac7ee42a2ab
common: Minor change of hex2str to allow for embedded nul.

* common/convert.c (hex2str): Set ERRNO.  Return adjusted COUNT.
--

hex2str is only used at one place for in-place converting an hex
encoded passphrase.  This change does not affect this use.  The change
is however useful to use the function for in-place conversion of
arbitrary hex encoded strings.

Take care for in-place conversion of a hex string encoding binary data
you need to use it this way:

  if (hex2str (string, string, strlen (string) + 1, &length)
     oops ("probably out of memory but see ERRNO");
  for (i=0; i < length; i++)
     foo (string[i));

Note that strlen() + 1.

Signed-off-by: Werner Koch <wk@gnupg.org>
common/convert.c
common/t-convert.c