Correct freeing of descriptor data.
authordrepper <drepper>
Wed, 26 Nov 1997 03:33:03 +0000 (03:33 +0000)
committerdrepper <drepper>
Wed, 26 Nov 1997 03:33:03 +0000 (03:33 +0000)
iconv/gconv_close.c

index 791c025..912fa26 100644 (file)
@@ -40,11 +40,11 @@ __gconv_close (gconv_t cd)
       if (srunp->end_fct != NULL)
        (*srunp->end_fct) (drunp);
       else
-       {
-         free (drunp->outbuf);
-         if (drunp->data != NULL)
-           free (drunp->data);
-       }
+       if (drunp->data != NULL)
+         free (drunp->data);
+
+      if (!drunp->is_last && drunp->outbuf != NULL)
+       free (drunp->outbuf);
 
       /* Next step.  */
       ++srunp;