/trunk/debian/rules |
File deleted |
|
Property changes: |
Deleted: svn:executable |
## -1 +0,0 ## |
-* |
\ No newline at end of property |
Index: debian/libtar-dev.install |
=================================================================== |
--- debian/libtar-dev.install (revision 3) |
+++ debian/libtar-dev.install (nonexistent) |
@@ -1,4 +0,0 @@ |
-usr/include/libtar.h |
-usr/include/libtar_listhash.h |
-usr/lib/lib*.a |
-usr/lib/lib*so |
Index: debian/source/format |
=================================================================== |
--- debian/source/format (revision 3) |
+++ debian/source/format (nonexistent) |
@@ -1 +0,0 @@ |
-3.0 (quilt) |
Index: debian/control |
=================================================================== |
--- debian/control (revision 3) |
+++ debian/control (nonexistent) |
@@ -1,24 +0,0 @@ |
-Source: libtar |
-Section: libs |
-Priority: optional |
-Maintainer: Magnus Holmgren <holmgren@debian.org> |
-Build-Depends: debhelper (>= 7), dh-autoreconf, autoconf, libtool |
-Standards-Version: 3.9.1 |
-Homepage: http://www.feep.net/libtar/ |
- |
-Package: libtar-dev |
-Architecture: any |
-Section: libdevel |
-Depends: libtar (= ${binary:Version}), ${misc:Depends} |
-Description: C library for manipulating tar archives |
- Contains static library, headers, example code and development manpages |
- for libtar |
- |
-Package: libtar |
-Architecture: any |
-Section: libs |
-Depends: ${shlibs:Depends}, ${misc:Depends} |
-Description: C library for manipulating tar archives |
- libtar allows programs to create, extract and test tar archives. |
- It supports both the strict POSIX tar format and many of the commonly-used |
- GNU extensions. |
Index: debian/libtar.install |
=================================================================== |
--- debian/libtar.install (revision 3) |
+++ debian/libtar.install (nonexistent) |
@@ -1 +0,0 @@ |
-usr/lib/lib*.so.* |
Index: debian/libtar-dev.manpages |
=================================================================== |
--- debian/libtar-dev.manpages (revision 3) |
+++ debian/libtar-dev.manpages (nonexistent) |
@@ -1,11 +0,0 @@ |
-debian/tmp/usr/share/man/man3/libtar_hash_new.3 |
-debian/tmp/usr/share/man/man3/libtar_list_new.3 |
-debian/tmp/usr/share/man/man3/tar_append_file.3 |
-debian/tmp/usr/share/man/man3/tar_block_read.3 |
-debian/tmp/usr/share/man/man3/tar_extract_all.3 |
-debian/tmp/usr/share/man/man3/tar_extract_file.3 |
-debian/tmp/usr/share/man/man3/tar_open.3 |
-debian/tmp/usr/share/man/man3/th_get_pathname.3 |
-debian/tmp/usr/share/man/man3/th_print_long_ls.3 |
-debian/tmp/usr/share/man/man3/th_read.3 |
-debian/tmp/usr/share/man/man3/th_set_from_stat.3 |
Index: debian/compat |
=================================================================== |
--- debian/compat (revision 3) |
+++ debian/compat (nonexistent) |
@@ -1 +0,0 @@ |
-7 |
Index: debian/libtar-dev.examples |
=================================================================== |
--- debian/libtar-dev.examples (revision 3) |
+++ debian/libtar-dev.examples (nonexistent) |
@@ -1,2 +0,0 @@ |
-libtar/libtar.c |
-libtar/Makefile |
Index: debian/watch |
=================================================================== |
--- debian/watch (revision 3) |
+++ debian/watch (nonexistent) |
@@ -1,3 +0,0 @@ |
-version=3 |
- |
-ftp://ftp.feep.net/pub/software/libtar/libtar-(.*).tar.gz |
Index: debian/changelog |
=================================================================== |
--- debian/changelog (revision 3) |
+++ debian/changelog (nonexistent) |
@@ -1,113 +0,0 @@ |
-libtar (1.2.11-7) unstable; urgency=low |
- |
- * New maintainer (Closes: #526618). |
- * Change source format to 3.0 (quilt), clean up Debian diff and split |
- into several patches: |
- * libtool.patch: Using libtool to build dynamic library; |
- * autoreconf.patch: Changes needed to call autoreconf (bug 511741); |
- * memleak.patch: Fix memory leaks; |
- * bad_ptrtoint.patch: Document stupidity of tartype_t in libtar.c |
- (bug 309945). |
- * Increase Debhelper compat level to 7. |
- * Use dh_autoreconf to avoid having to keep track of files to clean. |
- * memleak2.patch (new): Applied instead of memleak.patch. Fix memory |
- leak by making th_get_pathname() return a pointer to a static buffer |
- instead of a pointer to a copy of a local buffer (LP: #41804). |
- * Add homepage field and watch file (in case there is ever a new |
- upstream release). |
- * Upgrade to Standards-Version 3.9.1. |
- |
- -- Magnus Holmgren <holmgren@debian.org> Sat, 26 Mar 2011 23:10:25 +0100 |
- |
-libtar (1.2.11-6) unstable; urgency=low |
- |
- * Fix autotools usage (Closes: #511741) |
- |
- -- Julien Danjou <acid@debian.org> Sat, 02 May 2009 11:33:06 +0200 |
- |
-libtar (1.2.11-5) unstable; urgency=low |
- |
- * New maintainer (Closes: #465889) |
- * Add missing binary-indep target in debian/rules (Closes: #395714) |
- * Use ${binary:Version} instead of Source-Version |
- * Bump standard version |
- * Switch to debhelper 5 |
- |
- -- Julien Danjou <acid@debian.org> Wed, 02 Apr 2008 07:06:55 +0200 |
- |
-libtar (1.2.11-4) unstable; urgency=low |
- |
- * Always include the newest libtool.m4. (Closes: #313612) |
- |
- -- James Morrison <phython@debian.org> Sun, 28 Aug 2005 09:41:47 -0700 |
- |
-libtar (1.2.11-3) unstable; urgency=low |
- |
- * Document stupidity of tartype_t in libtar.c. (Closes: #309945) |
- |
- -- James Morrison <phython@debian.org> Sat, 11 Jun 2005 18:23:15 -0400 |
- |
-libtar (1.2.11-2) unstable; urgency=low |
- |
- * Move libtar-dev to libdevel. (Closes: #188207) |
- * Fix potential memory leak. |
- |
- -- James Morrison <phython@debian.org> Sun, 25 Jul 2004 12:59:08 -0700 |
- |
-libtar (1.2.11-1) unstable; urgency=low |
- |
- * New Upstream release. |
- |
- -- James Morrison <phython@debian.org> Sat, 5 Apr 2003 14:03:19 -0500 |
- |
-libtar (1.2.10-1) unstable; urgency=low |
- |
- * New Upstream release. |
- (Closes: #166602) New upstream uses autoconf 2.5x |
- * Remove dependency on automake. Hopefully upstream will except this |
- use of libtool. |
- * Remove all -static and -shared targets from debian/rules. |
- * Use dh_install instead of dh_movefiles. |
- * - |
- |
- -- James Morrison <phython@debian.org> Sat, 5 Apr 2003 14:03:16 -0500 |
- |
-libtar (1.2.5-4) unstable; urgency=low |
- |
- * New maintainer. (Closes: #154597) |
- * WSG_ENCAP is now defined. (Closes: #147764) |
- * libtar-dev depends on libc-dev instead of libc6-dev. |
- |
- -- James Morrison <phython@debian.org> Wed, 14 Aug 2002 23:44:16 -0400 |
- |
-libtar (1.2.5-3) unstable; urgency=low |
- |
- * Modify build commands to acomadate change in autoconf (Closes #147764) |
- |
- -- Glenn McGrath <bug1@debian.org> Thu, 23 May 2002 01:06:16 +1000 |
- |
-libtar (1.2.5-2) unstable; urgency=low |
- |
- * Fix build problem (Closes #135360) |
- |
- -- Glenn McGrath <bug1@debian.org> Sun, 24 Feb 2002 06:29:31 +1100 |
- |
-libtar (1.2.5-1) unstable; urgency=low |
- |
- * New upstream version |
- * Change section of libtar-dev to devel and libtar to libs |
- |
- -- Glenn McGrath <bug1@debian.org> Fri, 22 Feb 2002 04:23:15 +1100 |
- |
-libtar (1.2.4-2) unstable; urgency=low |
- |
- * Change section from devel to libs |
- |
- -- Glenn McGrath <bug1@debian.org> Sat, 2 Feb 2002 12:12:32 +1100 |
- |
-libtar (1.2.4-1) unstable; urgency=low |
- |
- * Initial Release. (closes #128042) |
- |
- -- Glenn McGrath <bug1@debian.org> Sat, 5 Jan 2002 13:24:37 +1100 |
- |
Index: debian/patches/libtool.patch |
=================================================================== |
--- debian/patches/libtool.patch (revision 3) |
+++ debian/patches/libtool.patch (nonexistent) |
@@ -1,205 +0,0 @@ |
-Author: Glenn McGrath <bug1@optushome.com.au> |
-Description: Use libtool to build dynamic library |
- |
---- a/configure.ac |
-+++ b/configure.ac |
-@@ -1,6 +1,6 @@ |
- dnl ### Normal initialization. ###################################### |
- AC_INIT([libtar], [1.2.11]) |
--AC_PREREQ([2.57]) |
-+AC_PREREQ([2.61]) |
- AC_CONFIG_AUX_DIR([autoconf]) |
- AC_CONFIG_HEADERS([config.h]) |
- AC_COPYRIGHT([[ |
-@@ -26,15 +26,15 @@ AC_SUBST([MKDIR]) |
- |
- |
- dnl ### Check for compiler et al. ################################### |
-+AC_USE_SYSTEM_EXTENSIONS |
- AC_PROG_CC |
--AC_PROG_RANLIB |
-+AC_PROG_LIBTOOL |
- AC_PROG_INSTALL |
- AC_PROG_LN_S |
- AC_PROG_MAKE_SET |
- |
- |
- dnl ### Compiler characteristics. ################################## |
--AC_AIX |
- AC_C_CONST |
- |
- |
---- a/lib/Makefile.in |
-+++ b/lib/Makefile.in |
-@@ -3,6 +3,7 @@ |
- ### Path settings |
- srcdir = @srcdir@ |
- top_srcdir = @top_srcdir@ |
-+top_builddir = @top_builddir@ |
- prefix = @prefix@ |
- exec_prefix = @exec_prefix@ |
- bindir = @bindir@ |
-@@ -23,6 +24,7 @@ MKDIR = @MKDIR@ |
- |
- ### Compiler and link options |
- CC = @CC@ |
-+LIBTOOL = @LIBTOOL@ |
- CPPFLAGS = -I. \ |
- -I.. \ |
- -I${srcdir} \ |
-@@ -32,7 +34,7 @@ CPPFLAGS = -I. \ |
- CFLAGS = @CFLAGS@ |
- LDFLAGS = @LDFLAGS@ |
- LIBS = @LIBS@ |
--LIBOBJS = @LIBOBJS@ |
-+LTLIBOBJS = @LTLIBOBJS@ |
- RANLIB = @RANLIB@ |
- @SET_MAKE@ |
- VPATH = @srcdir@:@top_srcdir@/compat:../listhash |
-@@ -40,24 +42,26 @@ VPATH = @srcdir@:@top_srcdir@/compat:.. |
- |
- ### Makefile rules - no user-servicable parts below |
- |
--LIBTAR_OBJS = append.o \ |
-- block.o \ |
-- decode.o \ |
-- encode.o \ |
-- extract.o \ |
-- handle.o \ |
-- libtar_hash.o \ |
-- libtar_list.o \ |
-- output.o \ |
-- util.o \ |
-- wrapper.o |
-+LIBTAR_OBJS = append.lo \ |
-+ block.lo \ |
-+ decode.lo \ |
-+ encode.lo \ |
-+ extract.lo \ |
-+ handle.lo \ |
-+ libtar_hash.lo \ |
-+ libtar_list.lo \ |
-+ output.lo \ |
-+ util.lo \ |
-+ wrapper.lo |
- LIBTAR_HDRS = ../config.h \ |
- ${top_srcdir}/compat/compat.h \ |
- ${srcdir}/libtar.h \ |
- ${srcdir}/internal.h \ |
- ../listhash/libtar_listhash.h |
--LIBTAR_LIBS = ./libtar.a |
--ALL = libtar.a |
-+LIBTAR_LIBS = ./libtar.la |
-+ALL = libtar.la |
-+LDFLAGS = @LDFLAGS@ |
-+CFLAGS = @CFLAGS@ |
- |
- DISTCLEANFILES = ../listhash/libtar_listhash.h \ |
- ../listhash/libtar_list.c \ |
-@@ -68,24 +72,31 @@ all: ${ALL} |
- |
- .PHONY: clean distclean install |
- |
--libtar.a: ${LIBTAR_OBJS} ${LIBOBJS} |
-- ${AR} rc libtar.a ${LIBTAR_OBJS} ${LIBOBJS} |
-- ${RANLIB} libtar.a |
-+libtar.la: ${LIBTAR_OBJS} ${LTLIBOBJS} |
-+ $(LIBTOOL) --mode=link $(CC) $(CFLAGS) $(LDFLAGS) -o libtar.la $(LIBTAR_OBJS) $(LTLIBOBJS) -rpath $(libdir) |
-+# ${AR} rc libtar.a ${LIBTAR_OBJS} ${LIBOBJS} |
-+# ${RANLIB} libtar.a |
- |
- ${LIBTAR_OBJS}: ${LIBTAR_HDRS} |
- |
--.c.o: |
-- ${CC} ${CFLAGS} ${CPPFLAGS} -c -o $@ $< |
-+%.lo: $(srcdir)/%.c |
-+ $(LIBTOOL) --mode=compile ${CC} ${CFLAGS} ${CPPFLAGS} -c -o $@ $< |
-+ |
-+%.lo: listhash/%.c |
-+ $(LIBTOOL) --mode=compile ${CC} ${CFLAGS} ${CPPFLAGS} -c -o $@ $< |
-+ |
-+%.lo: compat/%.c |
-+ $(LIBTOOL) --mode=compile ${CC} ${CFLAGS} ${CPPFLAGS} -c -o $@ $< |
- |
- clean: |
-- rm -f *~ *.o ${ALL} core |
-+ rm -rf *~ *.o $(LIBTAR_OBJS) ${ALL} core .libs $(LTLIBOBJS) |
- |
- distclean: clean |
- rm -f Makefile ${DISTCLEANFILES} |
- |
- install: ${ALL} |
- ${MKDIR} ${DESTDIR}${libdir} |
-- ${INSTALL_DATA} libtar.a ${DESTDIR}${libdir} |
-+ $(LIBTOOL) --mode=install ${INSTALL_DATA} libtar.la ${DESTDIR}${libdir} |
- ${MKDIR} ${DESTDIR}${includedir} |
- ${INSTALL_DATA} ${srcdir}/libtar.h ${DESTDIR}${includedir} |
- ${INSTALL_DATA} ../listhash/libtar_listhash.h ${DESTDIR}${includedir} |
---- a/libtar/Makefile.in |
-+++ b/libtar/Makefile.in |
-@@ -3,6 +3,7 @@ |
- ### Path settings |
- srcdir = @srcdir@ |
- top_srcdir = @top_srcdir@ |
-+top_builddir = @top_builddir@ |
- prefix = @prefix@ |
- exec_prefix = @exec_prefix@ |
- bindir = @bindir@ |
-@@ -23,6 +24,7 @@ MKDIR = @MKDIR@ |
- |
- ### Compiler and link options |
- CC = @CC@ |
-+LIBTOOL = @LIBTOOL@ |
- CPPFLAGS = -I.. \ |
- -I../lib \ |
- -I../listhash \ |
-@@ -31,7 +33,7 @@ CPPFLAGS = -I.. \ |
- @CPPFLAGS@ |
- CFLAGS = @CFLAGS@ |
- LDFLAGS = @LDFLAGS@ |
--LIBS = @LIBS@ |
-+LIBS = @LIBS@ -ltar |
- LIBOBJS = @LIBOBJS@ |
- RANLIB = @RANLIB@ |
- @SET_MAKE@ |
-@@ -40,12 +42,12 @@ VPATH = @srcdir@ |
- |
- ### Makefile rules - no user-servicable parts below |
- |
--LIBTAR_OBJS = libtar.o |
-+LIBTAR_OBJS = libtar.lo |
- LIBTAR_HDRS = ../config.h \ |
- ${top_srcdir}/compat/compat.h \ |
- ${top_srcdir}/lib/libtar.h \ |
- ../listhash/libtar_listhash.h |
--LIBTAR_LIBS = ../lib/libtar.a |
-+LIBTAR_LIBS = $(top_builddir)/lib |
- ALL = libtar |
- |
- |
-@@ -54,20 +56,20 @@ all: ${ALL} |
- .PHONY: clean distclean install |
- |
- libtar: ${LIBTAR_OBJS} ${LIBTAR_LIBS} ${LIBTAR_HDRS} |
-- ${CC} ${CFLAGS} ${LDFLAGS} -o libtar libtar.o ${LIBTAR_LIBS} ${LIBS} |
-+ $(LIBTOOL) --mode=link ${CC} ${CFLAGS} ${LDFLAGS} -o libtar $(LIBTAR_OBJS) -L${LIBTAR_LIBS} ${LIBS} |
- |
- ${LIBTAR_OBJS}: ${LIBTAR_HDRS} |
- |
--.c.o: |
-- ${CC} ${CFLAGS} ${CPPFLAGS} -c -o $@ $< |
-+%.lo: %.c |
-+ $(LIBTOOL) --mode=compile ${CC} ${CFLAGS} ${CPPFLAGS} -c -o $@ $< |
- |
- clean: |
-- rm -f *~ *.o ${ALL} core |
-+ rm -rf *~ *.o ${ALL} $(LIBTAR_OBJS) core .libs |
- |
- distclean: clean |
- rm -f Makefile |
- |
- install: ${ALL} |
- ${MKDIR} ${DESTDIR}${bindir} |
-- ${INSTALL_PROGRAM} libtar ${DESTDIR}${bindir} |
-+ $(LIBTOOL) --mode=install ${INSTALL_PROGRAM} libtar ${DESTDIR}${bindir} |
- |
Index: debian/patches/autoreconf.patch |
=================================================================== |
--- debian/patches/autoreconf.patch (revision 3) |
+++ debian/patches/autoreconf.patch (nonexistent) |
@@ -1,46 +0,0 @@ |
-Author: Julien Danjou <acid@debian.org> |
-Author: James Westby <james.westby@canonical.com> |
-Description: Changes to upstream source needed to call autoreconf |
-Bug-Debian: http://bugs.debian.org/511741 |
- |
---- a/configure.ac |
-+++ b/configure.ac |
-@@ -3,6 +3,7 @@ AC_INIT([libtar], [1.2.11]) |
- AC_PREREQ([2.61]) |
- AC_CONFIG_AUX_DIR([autoconf]) |
- AC_CONFIG_HEADERS([config.h]) |
-+AC_CONFIG_MACRO_DIR([m4]) |
- AC_COPYRIGHT([[ |
- Copyright (c) 1998-2003 University of Illinois Board of Trustees |
- Copyright (c) 1998-2003 Mark D. Roth |
-@@ -93,9 +94,9 @@ COMPAT_FUNC_MAKEDEV |
- COMPAT_FUNC_SNPRINTF |
- COMPAT_FUNC_STRDUP |
- AC_FUNC_STRFTIME |
--COMPAT_FUNC_STRLCPY |
- COMPAT_FUNC_STRMODE |
--COMPAT_FUNC_STRSEP |
-+dnl COMPAT_FUNC_STRLCPY converted by compat/modules.ac |
-+dnl COMPAT_FUNC_STRSEP |
- |
- |
- dnl ### Check for libraries. ####################################### |
---- /dev/null |
-+++ b/aclocal.m4 |
-@@ -0,0 +1,8 @@ |
-+m4_include([autoconf/ac_path_generic.m4]) |
-+m4_include([autoconf/encap.m4]) |
-+m4_include([autoconf/aclocal.m4]) |
-+m4_include([/usr/share/aclocal/ltoptions.m4]) |
-+m4_include([/usr/share/aclocal/lt~obsolete.m4]) |
-+m4_include([/usr/share/aclocal/libtool.m4]) |
-+m4_include([/usr/share/aclocal/ltversion.m4]) |
-+m4_include([/usr/share/aclocal/ltsugar.m4]) |
---- a/autoconf/aclocal.m4 |
-+++ b/autoconf/aclocal.m4 |
-@@ -1,5 +1,3 @@ |
--m4_include([encap.m4]) |
--m4_include([ac_path_generic.m4]) |
- |
- |
- # PSG_LIB_READLINE |
Index: debian/patches/bad_ptrtoint.patch |
=================================================================== |
--- debian/patches/bad_ptrtoint.patch (revision 3) |
+++ debian/patches/bad_ptrtoint.patch (nonexistent) |
@@ -1,25 +0,0 @@ |
-Author: James Morrison <phython@debian.org> |
-Description: Document stupidity of tartype_t in libtar.c. |
-Bug-Debian: http://bugs.debian.org/309945 |
- |
---- a/libtar/libtar.c |
-+++ b/libtar/libtar.c |
-@@ -19,6 +19,7 @@ |
- #include <sys/param.h> |
- |
- #ifdef STDC_HEADERS |
-+# include <stdlib.h> |
- # include <string.h> |
- #endif |
- |
-@@ -91,6 +92,10 @@ gzopen_frontend(char *pathname, int ofla |
- return -1; |
- } |
- |
-+ /* This is a bad thing to do on big-endian lp64 systems, where the |
-+ size and placement of integers is different than pointers. |
-+ However, to fix the problem 4 wrapper functions would be needed and |
-+ an extra bit of data associating GZF with the wrapper functions. */ |
- return (int)gzf; |
- } |
- |
Index: debian/patches/memleak.patch |
=================================================================== |
--- debian/patches/memleak.patch (revision 3) |
+++ debian/patches/memleak.patch (nonexistent) |
@@ -1,496 +0,0 @@ |
-Description: Fix memory leaks related to th_get_pathname() |
-Author: James Morrison <phython@debian.org> |
-Author: Martin Gadbois <martin.gadbois@colubris.com> |
-Author: Magnus Holmgren <holmgren@debian.org> |
-Bug-Ubuntu: https://bugs.launchpad.net/ubuntu/+source/libtar/+bug/41804 |
- |
---- a/lib/wrapper.c |
-+++ b/lib/wrapper.c |
-@@ -18,6 +18,7 @@ |
- #include <errno.h> |
- |
- #ifdef STDC_HEADERS |
-+# include <stdlib.h> |
- # include <string.h> |
- #endif |
- |
-@@ -35,7 +36,10 @@ tar_extract_glob(TAR *t, char *globname, |
- if (fnmatch(globname, filename, FNM_PATHNAME | FNM_PERIOD)) |
- { |
- if (TH_ISREG(t) && tar_skip_regfile(t)) |
-+ { |
-+ free(filename); |
- return -1; |
-+ } |
- continue; |
- } |
- if (t->options & TAR_VERBOSE) |
-@@ -45,7 +49,11 @@ tar_extract_glob(TAR *t, char *globname, |
- else |
- strlcpy(buf, filename, sizeof(buf)); |
- if (tar_extract_file(t, filename) != 0) |
-+ { |
-+ free(filename); |
- return -1; |
-+ } |
-+ free(filename); |
- } |
- |
- return (i == 1 ? 0 : -1); |
-@@ -76,12 +84,17 @@ tar_extract_all(TAR *t, char *prefix) |
- snprintf(buf, sizeof(buf), "%s/%s", prefix, filename); |
- else |
- strlcpy(buf, filename, sizeof(buf)); |
-+ free(filename); |
- #ifdef DEBUG |
- printf(" tar_extract_all(): calling tar_extract_file(t, " |
- "\"%s\")\n", buf); |
- #endif |
- if (tar_extract_file(t, buf) != 0) |
-+ { |
-+ free(filename); |
- return -1; |
-+ } |
-+ free(filename); |
- } |
- |
- return (i == 1 ? 0 : -1); |
---- a/lib/extract.c |
-+++ b/lib/extract.c |
-@@ -21,6 +21,7 @@ |
- |
- #ifdef STDC_HEADERS |
- # include <stdlib.h> |
-+# include <string.h> |
- #endif |
- |
- #ifdef HAVE_UNISTD_H |
-@@ -43,9 +44,10 @@ tar_set_file_perms(TAR *t, char *realnam |
- uid_t uid; |
- gid_t gid; |
- struct utimbuf ut; |
-- char *filename; |
-+ char *filename,*pathname; |
- |
-- filename = (realname ? realname : th_get_pathname(t)); |
-+ pathname = th_get_pathname(t); |
-+ filename = (realname ? realname : pathname); |
- mode = th_get_mode(t); |
- uid = th_get_uid(t); |
- gid = th_get_gid(t); |
-@@ -68,6 +70,7 @@ tar_set_file_perms(TAR *t, char *realnam |
- filename, uid, gid, strerror(errno)); |
- # endif |
- #endif /* HAVE_LCHOWN */ |
-+ free(pathname); |
- return -1; |
- } |
- |
-@@ -77,6 +80,7 @@ tar_set_file_perms(TAR *t, char *realnam |
- #ifdef DEBUG |
- perror("utime()"); |
- #endif |
-+ free(pathname); |
- return -1; |
- } |
- |
-@@ -86,9 +90,10 @@ tar_set_file_perms(TAR *t, char *realnam |
- #ifdef DEBUG |
- perror("chmod()"); |
- #endif |
-+ free(pathname); |
- return -1; |
- } |
-- |
-+ free(pathname); |
- return 0; |
- } |
- |
-@@ -99,6 +104,7 @@ tar_extract_file(TAR *t, char *realname) |
- { |
- int i; |
- linkname_t *lnp; |
-+ char *pathname; |
- |
- if (t->options & TAR_NOOVERWRITE) |
- { |
-@@ -140,12 +146,14 @@ tar_extract_file(TAR *t, char *realname) |
- lnp = (linkname_t *)calloc(1, sizeof(linkname_t)); |
- if (lnp == NULL) |
- return -1; |
-- strlcpy(lnp->ln_save, th_get_pathname(t), sizeof(lnp->ln_save)); |
-+ pathname = th_get_pathname(t); |
-+ strlcpy(lnp->ln_save, pathname, sizeof(lnp->ln_save)); |
- strlcpy(lnp->ln_real, realname, sizeof(lnp->ln_real)); |
- #ifdef DEBUG |
- printf("tar_extract_file(): calling libtar_hash_add(): key=\"%s\", " |
-- "value=\"%s\"\n", th_get_pathname(t), realname); |
-+ "value=\"%s\"\n", pathname, realname); |
- #endif |
-+ free(pathname); |
- if (libtar_hash_add(t->h, lnp) != 0) |
- return -1; |
- |
-@@ -164,7 +172,7 @@ tar_extract_regfile(TAR *t, char *realna |
- int fdout; |
- int i, k; |
- char buf[T_BLOCKSIZE]; |
-- char *filename; |
-+ char *filename,*pathname; |
- |
- #ifdef DEBUG |
- printf("==> tar_extract_regfile(t=0x%lx, realname=\"%s\")\n", t, |
-@@ -176,15 +184,18 @@ tar_extract_regfile(TAR *t, char *realna |
- errno = EINVAL; |
- return -1; |
- } |
-- |
-- filename = (realname ? realname : th_get_pathname(t)); |
-+ pathname = th_get_pathname(t); |
-+ filename = (realname ? realname : pathname); |
- mode = th_get_mode(t); |
- size = th_get_size(t); |
- uid = th_get_uid(t); |
- gid = th_get_gid(t); |
- |
- if (mkdirhier(dirname(filename)) == -1) |
-+ { |
-+ free(pathname); |
- return -1; |
-+ } |
- |
- #ifdef DEBUG |
- printf(" ==> extracting: %s (mode %04o, uid %d, gid %d, %d bytes)\n", |
-@@ -200,6 +211,7 @@ tar_extract_regfile(TAR *t, char *realna |
- #ifdef DEBUG |
- perror("open()"); |
- #endif |
-+ free(pathname); |
- return -1; |
- } |
- |
-@@ -231,23 +243,30 @@ tar_extract_regfile(TAR *t, char *realna |
- { |
- if (k != -1) |
- errno = EINVAL; |
-+ free(pathname); |
- return -1; |
- } |
- |
- /* write block to output file */ |
- if (write(fdout, buf, |
- ((i > T_BLOCKSIZE) ? T_BLOCKSIZE : i)) == -1) |
-+ { |
-+ free(pathname); |
- return -1; |
-+ } |
- } |
- |
- /* close output file */ |
- if (close(fdout) == -1) |
-+ { |
-+ free(pathname); |
- return -1; |
-+ } |
- |
- #ifdef DEBUG |
- printf("### done extracting %s\n", filename); |
- #endif |
-- |
-+ free(pathname); |
- return 0; |
- } |
- |
-@@ -286,7 +305,7 @@ tar_skip_regfile(TAR *t) |
- int |
- tar_extract_hardlink(TAR * t, char *realname) |
- { |
-- char *filename; |
-+ char *filename,*pathname; |
- char *linktgt = NULL; |
- linkname_t *lnp; |
- libtar_hashptr_t hp; |
-@@ -296,10 +315,14 @@ tar_extract_hardlink(TAR * t, char *real |
- errno = EINVAL; |
- return -1; |
- } |
-- |
-- filename = (realname ? realname : th_get_pathname(t)); |
-+ |
-+ pathname = th_get_pathname(t); |
-+ filename = (realname ? realname : pathname); |
- if (mkdirhier(dirname(filename)) == -1) |
-+ { |
-+ free(pathname); |
- return -1; |
-+ } |
- libtar_hashptr_reset(&hp); |
- if (libtar_hash_getkey(t->h, &hp, th_get_linkname(t), |
- (libtar_matchfunc_t)libtar_str_match) != 0) |
-@@ -318,9 +341,10 @@ tar_extract_hardlink(TAR * t, char *real |
- #ifdef DEBUG |
- perror("link()"); |
- #endif |
-+ free(pathname); |
- return -1; |
- } |
-- |
-+ free(pathname); |
- return 0; |
- } |
- |
-@@ -329,7 +353,7 @@ tar_extract_hardlink(TAR * t, char *real |
- int |
- tar_extract_symlink(TAR *t, char *realname) |
- { |
-- char *filename; |
-+ char *filename,*pathname; |
- |
- if (!TH_ISSYM(t)) |
- { |
-@@ -337,12 +361,19 @@ tar_extract_symlink(TAR *t, char *realna |
- return -1; |
- } |
- |
-- filename = (realname ? realname : th_get_pathname(t)); |
-+ pathname = th_get_pathname(t); |
-+ filename = (realname ? realname : pathname); |
- if (mkdirhier(dirname(filename)) == -1) |
-+ { |
-+ free(pathname); |
- return -1; |
-+ } |
- |
- if (unlink(filename) == -1 && errno != ENOENT) |
-+ { |
-+ free(pathname); |
- return -1; |
-+ } |
- |
- #ifdef DEBUG |
- printf(" ==> extracting: %s (symlink to %s)\n", |
-@@ -353,9 +384,10 @@ tar_extract_symlink(TAR *t, char *realna |
- #ifdef DEBUG |
- perror("symlink()"); |
- #endif |
-+ free(pathname); |
- return -1; |
- } |
-- |
-+ free(pathname); |
- return 0; |
- } |
- |
-@@ -366,7 +398,7 @@ tar_extract_chardev(TAR *t, char *realna |
- { |
- mode_t mode; |
- unsigned long devmaj, devmin; |
-- char *filename; |
-+ char *filename,*pathname; |
- |
- if (!TH_ISCHR(t)) |
- { |
-@@ -374,13 +406,17 @@ tar_extract_chardev(TAR *t, char *realna |
- return -1; |
- } |
- |
-- filename = (realname ? realname : th_get_pathname(t)); |
-+ pathname = th_get_pathname(t); |
-+ filename = (realname ? realname : pathname); |
- mode = th_get_mode(t); |
- devmaj = th_get_devmajor(t); |
- devmin = th_get_devminor(t); |
- |
- if (mkdirhier(dirname(filename)) == -1) |
-+ { |
-+ free(pathname); |
- return -1; |
-+ } |
- |
- #ifdef DEBUG |
- printf(" ==> extracting: %s (character device %ld,%ld)\n", |
-@@ -392,9 +428,10 @@ tar_extract_chardev(TAR *t, char *realna |
- #ifdef DEBUG |
- perror("mknod()"); |
- #endif |
-+ free(pathname); |
- return -1; |
- } |
-- |
-+ free(pathname); |
- return 0; |
- } |
- |
-@@ -405,7 +442,7 @@ tar_extract_blockdev(TAR *t, char *realn |
- { |
- mode_t mode; |
- unsigned long devmaj, devmin; |
-- char *filename; |
-+ char *filename,*pathname; |
- |
- if (!TH_ISBLK(t)) |
- { |
-@@ -413,13 +450,17 @@ tar_extract_blockdev(TAR *t, char *realn |
- return -1; |
- } |
- |
-- filename = (realname ? realname : th_get_pathname(t)); |
-+ pathname = th_get_pathname(t); |
-+ filename = (realname ? realname : pathname); |
- mode = th_get_mode(t); |
- devmaj = th_get_devmajor(t); |
- devmin = th_get_devminor(t); |
- |
- if (mkdirhier(dirname(filename)) == -1) |
-+ { |
-+ free(pathname); |
- return -1; |
-+ } |
- |
- #ifdef DEBUG |
- printf(" ==> extracting: %s (block device %ld,%ld)\n", |
-@@ -431,9 +472,10 @@ tar_extract_blockdev(TAR *t, char *realn |
- #ifdef DEBUG |
- perror("mknod()"); |
- #endif |
-+ free(pathname); |
- return -1; |
- } |
-- |
-+ free(pathname); |
- return 0; |
- } |
- |
-@@ -443,7 +485,7 @@ int |
- tar_extract_dir(TAR *t, char *realname) |
- { |
- mode_t mode; |
-- char *filename; |
-+ char *filename,*pathname; |
- |
- if (!TH_ISDIR(t)) |
- { |
-@@ -451,11 +493,15 @@ tar_extract_dir(TAR *t, char *realname) |
- return -1; |
- } |
- |
-- filename = (realname ? realname : th_get_pathname(t)); |
-+ pathname = th_get_pathname(t); |
-+ filename = (realname ? realname : pathname); |
- mode = th_get_mode(t); |
- |
- if (mkdirhier(dirname(filename)) == -1) |
-+ { |
-+ free(pathname); |
- return -1; |
-+ } |
- |
- #ifdef DEBUG |
- printf(" ==> extracting: %s (mode %04o, directory)\n", filename, |
-@@ -470,6 +516,7 @@ tar_extract_dir(TAR *t, char *realname) |
- #ifdef DEBUG |
- perror("chmod()"); |
- #endif |
-+ free(pathname); |
- return -1; |
- } |
- else |
-@@ -477,6 +524,7 @@ tar_extract_dir(TAR *t, char *realname) |
- #ifdef DEBUG |
- puts(" *** using existing directory"); |
- #endif |
-+ free(pathname); |
- return 1; |
- } |
- } |
-@@ -485,10 +533,11 @@ tar_extract_dir(TAR *t, char *realname) |
- #ifdef DEBUG |
- perror("mkdir()"); |
- #endif |
-+ free(pathname); |
- return -1; |
- } |
- } |
-- |
-+ free(pathname); |
- return 0; |
- } |
- |
-@@ -498,7 +547,7 @@ int |
- tar_extract_fifo(TAR *t, char *realname) |
- { |
- mode_t mode; |
-- char *filename; |
-+ char *filename,*pathname; |
- |
- if (!TH_ISFIFO(t)) |
- { |
-@@ -506,11 +555,15 @@ tar_extract_fifo(TAR *t, char *realname) |
- return -1; |
- } |
- |
-- filename = (realname ? realname : th_get_pathname(t)); |
-+ pathname = th_get_pathname(t); |
-+ filename = (realname ? realname : pathname); |
- mode = th_get_mode(t); |
- |
- if (mkdirhier(dirname(filename)) == -1) |
-+ { |
-+ free(pathname); |
- return -1; |
-+ } |
- |
- #ifdef DEBUG |
- printf(" ==> extracting: %s (fifo)\n", filename); |
-@@ -520,9 +573,11 @@ tar_extract_fifo(TAR *t, char *realname) |
- #ifdef DEBUG |
- perror("mkfifo()"); |
- #endif |
-+ free(pathname); |
- return -1; |
- } |
- |
-+ free(pathname); |
- return 0; |
- } |
- |
---- a/lib/output.c |
-+++ b/lib/output.c |
-@@ -20,6 +20,7 @@ |
- #include <sys/param.h> |
- |
- #ifdef STDC_HEADERS |
-+# include <stdlib.h> |
- # include <string.h> |
- #endif |
- |
-@@ -71,6 +72,7 @@ th_print_long_ls(TAR *t) |
- char groupname[_POSIX_LOGIN_NAME_MAX]; |
- time_t mtime; |
- struct tm *mtm; |
-+ char *pathname; |
- |
- #ifdef HAVE_STRFTIME |
- char timebuf[18]; |
-@@ -114,7 +116,9 @@ th_print_long_ls(TAR *t) |
- mtm->tm_mday, mtm->tm_hour, mtm->tm_min, mtm->tm_year + 1900); |
- #endif |
- |
-- printf(" %s", th_get_pathname(t)); |
-+ pathname = th_get_pathname(t); |
-+ printf(" %s", pathname); |
-+ free(pathname); |
- |
- if (TH_ISSYM(t) || TH_ISLNK(t)) |
- { |
---- a/lib/decode.c |
-+++ b/lib/decode.c |
-@@ -29,7 +29,7 @@ th_get_pathname(TAR *t) |
- char filename[MAXPATHLEN]; |
- |
- if (t->th_buf.gnu_longname) |
-- return t->th_buf.gnu_longname; |
-+ return strdup(t->th_buf.gnu_longname); |
- |
- if (t->th_buf.prefix[0] != '\0') |
- { |
Index: debian/patches/series |
=================================================================== |
--- debian/patches/series (revision 3) |
+++ debian/patches/series (nonexistent) |
@@ -1,5 +0,0 @@ |
-libtool.patch |
-autoreconf.patch |
-memleak2.patch |
-#memleak.patch |
-bad_ptrtoint.patch |
Index: debian/patches/memleak2.patch |
=================================================================== |
--- debian/patches/memleak2.patch (revision 3) |
+++ debian/patches/memleak2.patch (nonexistent) |
@@ -1,31 +0,0 @@ |
-Description: Fix memory leak in th_get_pathname |
- by making the buffer, where prefix and filename are concatenated, static |
- and returning that instead of a pointer to a copy of a local buffer. |
-Author: Per Lidén <per@fukt.bth.se> |
-Bug-Ubuntu: https://bugs.launchpad.net/ubuntu/+source/libtar/+bug/41804 |
- |
---- a/lib/decode.c |
-+++ b/lib/decode.c |
-@@ -26,7 +26,7 @@ |
- char * |
- th_get_pathname(TAR *t) |
- { |
-- char filename[MAXPATHLEN]; |
-+ static char filename[MAXPATHLEN]; |
- |
- if (t->th_buf.gnu_longname) |
- return t->th_buf.gnu_longname; |
-@@ -35,11 +35,11 @@ th_get_pathname(TAR *t) |
- { |
- snprintf(filename, sizeof(filename), "%.155s/%.100s", |
- t->th_buf.prefix, t->th_buf.name); |
-- return strdup(filename); |
-+ return filename; |
- } |
- |
- snprintf(filename, sizeof(filename), "%.100s", t->th_buf.name); |
-- return strdup(filename); |
-+ return filename; |
- } |
- |
- |
Index: debian |
=================================================================== |
--- debian (revision 3) |
+++ debian (nonexistent) |
/debian |
Property changes: |
Deleted: mergeWithUpstream |
## -1 +0,0 ## |
-1 |
\ No newline at end of property |