summaryrefslogtreecommitdiffstats
path: root/charset.c
diff options
context:
space:
mode:
authorKevin McCarthy <kevin@8t8.us>2022-04-09 13:32:33 -0700
committerKevin McCarthy <kevin@8t8.us>2022-04-12 11:07:34 -0700
commitf82641352c6c0f1912c518875133a9b73a0e1f34 (patch)
tree9261b92befb8c51cb8be4665fe14293baa0ab457 /charset.c
parent195bcad02535738e03788e34cdc3f1f0c842b6e1 (diff)
Fix strlen() assigns to be of type size_t where obvious.
Ticket 405 had an almost-exploit enabled by sloppy assignment of strlen(). There were more details involved, of course, but this served as encouragement to clean up obvious "strlen assignment to int" in the rest of the code. Note this is not *all* cases, only those that were simple and obvious. In some cases, the code assigns strlen() to an int but also uses that variable to hold negative values for another reason. In other cases, an API is involved (e.g. SASL) that make changing potentially dangerous. And lastly, some functions were just a bit too complicated to risk introducing a bug.
Diffstat (limited to 'charset.c')
-rw-r--r--charset.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/charset.c b/charset.c
index 9f245c87..9b46b574 100644
--- a/charset.c
+++ b/charset.c
@@ -295,7 +295,7 @@ out:
int mutt_chscmp (const char *s, const char *chs)
{
char buffer[STRING];
- int a, b;
+ size_t a, b;
if (!s) return 0;
@@ -451,7 +451,7 @@ size_t mutt_iconv (iconv_t cd, ICONV_CONST char **inbuf, size_t *inbytesleft,
iconv (cd, 0, 0, &ob, &obl);
if (obl)
{
- int n = strlen (outrepl);
+ size_t n = strlen (outrepl);
if (n > obl)
{
outrepl = "?";