bug-coreutils
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#19578: Memory leaks in coreutils/lib/locale_charset.c


From: Zhaopeng Li
Subject: bug#19578: Memory leaks in coreutils/lib/locale_charset.c
Date: Tue, 13 Jan 2015 12:06:08 +0800

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";

reply via email to

[Prev in Thread] Current Thread [Next in Thread]