[BZ #2998]
authorUlrich Drepper <drepper@redhat.com>
Sat, 12 Aug 2006 17:49:50 +0000 (17:49 +0000)
committerUlrich Drepper <drepper@redhat.com>
Sat, 12 Aug 2006 17:49:50 +0000 (17:49 +0000)
2006-08-03  Eric Blake
<ebb9@byu.net>

[BZ #2998]
* misc/error.c (error_tail) [_LIBC]: Avoid invalid free.

ChangeLog
misc/error.c

index a356c15..68faa19 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2006-08-03  Eric Blake <ebb9@byu.net>
+
+       [BZ #2998]
+       * misc/error.c (error_tail) [_LIBC]: Avoid invalid free.
+
 2006-08-09  Ulrich Drepper  <drepper@redhat.com>
 
        * malloc/memusagestat.c: Silence warnings.
index 66a8ccb..459110c 100644 (file)
@@ -1,5 +1,5 @@
 /* Error handler for noninteractive utilities
-   Copyright (C) 1990-1998, 2000-2004, 2005 Free Software Foundation, Inc.
+   Copyright (C) 1990-1998, 2000-2005, 2006 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -224,7 +224,10 @@ error_tail (int status, int errnum, const char *message, va_list args)
        {
          /* The string cannot be converted.  */
          if (use_malloc)
-           free (wmessage);
+           {
+             free (wmessage);
+             use_malloc = false;
+           }
          wmessage = (wchar_t *) L"???";
        }