Fix memory leak in error path of do_ftell_wide (BZ #17370)
authorSiddhesh Poyarekar <siddhesh@redhat.com>
Tue, 16 Sep 2014 08:50:45 +0000 (14:20 +0530)
committerAllan McRae <allan@archlinux.org>
Tue, 16 Sep 2014 10:00:26 +0000 (20:00 +1000)
(cherry picked from commit 545583d664b64ff234b99aca0d85e99c8a55808f)

ChangeLog
libio/wfileops.c

index 9ebf81e..890c3c6 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2014-09-16  Siddhesh Poyarekar  <siddhesh@redhat.com>
+
+       [BZ #17370]
+       * libio/wfileops.c (do_ftell_wide): Free OUT on error path.
+
 2014-09-11  Tim Lammens  <tim.lammens@gmail.com>
 
        [BZ #17370]
index ebc06e8..c5ec5f7 100644 (file)
@@ -708,7 +708,10 @@ do_ftell_wide (_IO_FILE *fp)
                 sequences must be complete since they are accepted as
                 wchar_t; if not, then that is an error.  */
              if (__glibc_unlikely (status != __codecvt_ok))
-               return WEOF;
+               {
+                 free (out);
+                 return WEOF;
+               }
 
              offset += outstop - out;
              free (out);