GNU bug report logs -
#19578
Memory leaks in coreutils/lib/locale_charset.c
Previous Next
Reported by: Zhaopeng Li <zpli <at> ustc.edu.cn>
Date: Tue, 13 Jan 2015 05:49:02 UTC
Severity: normal
Tags: notabug
Merged with 19580
Done: Pádraig Brady <P <at> draigBrady.com>
Bug is archived. No further changes may be made.
Full log
Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
[Message part 1 (text/plain, inline)]
Platform: Ubuntu 14.10 64-bit
Coreutils Version 8.23
At line 534 of coreutils/lib/locale_charset.c, var ‘aliases' points to a buffer which is allocated using malloc() .
This buffer is not freed when codeset is still an empty string after the loop (Line 534~542).
So it will be leaked under such situation.
Line 533 /* Resolve alias. */
Line 534 for (aliases = get_charset_aliases ();
*aliases != '\0';
aliases += strlen (aliases) + 1, aliases += strlen (aliases) + 1)
if (strcmp (codeset, aliases) == 0
|| (aliases[0] == '*' && aliases[1] == '\0'))
{
codeset = aliases + strlen (aliases) + 1;
break;
}
/* Don't return an empty string. GNU libc and GNU libiconv interpret
the empty string as denoting "the locale's character encoding",
thus GNU libiconv would call this function a second time. */
if (codeset[0] == '\0')
codeset = "ASCII";
[Message part 2 (text/html, inline)]
This bug report was last modified 10 years and 137 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.