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

Bug#279722: libc6: application sometimes crashes, valgrind shows error in gconv_db.c



On Thu, Feb 03, 2005 at 05:36:44PM +0100, Loïc Minier wrote:
>         Hi,
> 
>  This is a followup for Debian bug <http://bugs.debian.org/279722>.
> 
>  I already tried in the past to build glibc on my system, and this was
>  too long a task for my laptop, could someone try swapping the free
>  after the __gconv_close_transform() or hand me a build if he can't
>  reproduce the bug?

Well I tried the following patch, but that did not fix the bug.
(Though I have to use ls --help for reproducing the bug).

Thanks for investigating this irritating issue!
-- 
Bill. <ballombe@debian.org>

Imagine a large red swirl here. 

--- build-tree/glibc-2.3.2/iconv/gconv_close.c.old      2005-02-15 13:24:35.000000000 +0100
+++ build-tree/glibc-2.3.2/iconv/gconv_close.c  2005-02-15 14:33:08.000000000 +0100
@@ -30,6 +30,7 @@
   struct __gconv_step *srunp;
   struct __gconv_step_data *drunp;
   size_t nsteps;
+  int ret;

   /* Free all resources by calling destructor functions and release
      the implementations.  */
@@ -57,9 +58,10 @@
     }
   while (!((drunp++)->__flags & __GCONV_IS_LAST));

+  /* Close the participating modules.  */
+  ret = __gconv_close_transform (srunp, nsteps);
+
   /* Free the data allocated for the descriptor.  */
   free (cd);
-
-  /* Close the participating modules.  */
-  return __gconv_close_transform (srunp, nsteps);
+  return ret;
 }





Reply to: