+2004-04-20 Jim Meyering <jim@meyering.net>
+ Bruno Haible <bruno@clisp.org>
+
+ * localcharset.c (get_charset_aliases) [!VMS && !WIN32]: Don't leak
+ memory when realloc fails.
+
2004-04-18 Jim Meyering <jim@meyering.net>
* readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]: Upon realloc failure,
/* Determine a canonical name for the current locale's character encoding.
- Copyright (C) 2000-2003 Free Software Foundation, Inc.
+ Copyright (C) 2000-2004 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
else
{
/* Parse the file's contents. */
- int c;
- char buf1[50+1];
- char buf2[50+1];
char *res_ptr = NULL;
size_t res_size = 0;
- size_t l1, l2;
for (;;)
{
+ int c;
+ char buf1[50+1];
+ char buf2[50+1];
+ size_t l1, l2;
+ char *old_res_ptr;
+
c = getc (fp);
if (c == EOF)
break;
break;
l1 = strlen (buf1);
l2 = strlen (buf2);
+ old_res_ptr = res_ptr;
if (res_size == 0)
{
res_size = l1 + 1 + l2 + 1;
{
/* Out of memory. */
res_size = 0;
+ if (old_res_ptr != NULL)
+ free (old_res_ptr);
break;
}
strcpy (res_ptr + res_size - (l2 + 1) - (l1 + 1), buf1);