commit 472ff2a23d74de49c82b8ff63e736e11ead55226
parent 6339d32c8ab40d11d8e86bf6ad155e4103819ade
Author: Christian Grothoff <christian@grothoff.org>
Date: Tue, 30 Jun 2026 18:37:47 +0200
handle iconv failure better
Diffstat:
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/src/common/convert.c b/src/common/convert.c
@@ -43,6 +43,7 @@ EXTRACTOR_common_convert_to_utf8 (const char *input,
#if HAVE_ICONV
size_t tmpSize;
size_t finSize;
+ size_t inSize;
char *tmp;
char *ret;
char *itmp;
@@ -67,11 +68,12 @@ EXTRACTOR_common_convert_to_utf8 (const char *input,
}
itmp = tmp;
finSize = tmpSize;
+ inSize = len;
if (iconv (cd, (char **) &input, &len, &itmp, &finSize) == ((size_t) -1))
{
iconv_close (cd);
free (tmp);
- return strndup (i, len);
+ return strndup (i, inSize);
}
ret = malloc (tmpSize - finSize + 1);
if (ret == NULL)
@@ -89,6 +91,8 @@ EXTRACTOR_common_convert_to_utf8 (const char *input,
char *ret;
ret = malloc (len + 1);
+ if (ret == NULL)
+ return NULL;
memcpy (ret, input, len);
ret[len] = '\0';
return ret;