Subversion Repositories

?revision_form?Rev ?revision_input??revision_submit??revision_endform?

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
5 magnus 1
Description: Fix memory leak in th_get_pathname
2
 by making the buffer, where prefix and filename are concatenated, static
3
 and returning that instead of a pointer to a copy of a local buffer.
4
Author: Per Lidén <per@fukt.bth.se>
5
Bug-Ubuntu: https://bugs.launchpad.net/ubuntu/+source/libtar/+bug/41804
6
 
7
--- a/lib/decode.c
8
+++ b/lib/decode.c
9
@@ -26,7 +26,7 @@
10
 char *
11
 th_get_pathname(TAR *t)
12
 {
13
-       char filename[MAXPATHLEN];
14
+       static char filename[MAXPATHLEN];
15
 
16
        if (t->th_buf.gnu_longname)
17
                return t->th_buf.gnu_longname;
18
@@ -35,11 +35,11 @@ th_get_pathname(TAR *t)
19
        {
20
                snprintf(filename, sizeof(filename), "%.155s/%.100s",
21
                         t->th_buf.prefix, t->th_buf.name);
22
-               return strdup(filename);
23
+               return filename;
24
        }
25
 
26
        snprintf(filename, sizeof(filename), "%.100s", t->th_buf.name);
27
-       return strdup(filename);
28
+       return filename;
29
 }
30
 
31