Package: reprepro
Version: 4.12.4-1
Severity: important

Dear Maintainer,

file "extractcontrol.c" is used when building reprepro without libarchive. This
file uses function chunk_extract() *without* prototype defined in "chunks.h"
(not included).

This results in compiler warning about implicit declaration of function
chunk_extract(), but real problem is much more serious: chunk_extract() accepts
5 arguments, and in "extractcontrol.c" only 4 are passed.

I'm sending a patch fixing this issue.



-- System Information:
Debian Release: wheezy/sid
  APT prefers testing
  APT policy: (990, 'testing'), (500, 'unstable')
Architecture: amd64 (x86_64)

Kernel: Linux 3.2.0-2-amd64 (SMP w/4 CPU cores)
Locale: LANG=ru_RU.UTF-8, LC_CTYPE=ru_RU.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

Versions of packages reprepro depends on:
ii  libarchive12   3.0.4-2
ii  libbz2-1.0     1.0.6-4
ii  libc6          2.13-35
ii  libdb5.1       5.1.29-5
ii  libgpg-error0  1.10-3.1
ii  libgpgme11     1.2.0-1.4
ii  zlib1g         1:1.2.7.dfsg-13

Versions of packages reprepro recommends:
ii  apt  0.9.7.5

Versions of packages reprepro suggests:
pn  gnupg-agent      <none>
pn  inoticoming      <none>
ii  lzip             1.13-3
ii  lzma             9.22-2
ii  xz-utils [lzma]  5.1.1alpha+20120614-1

-- no debconf information
diff --git a/extractcontrol.c b/extractcontrol.c
index 369192a..f90188a 100644
--- a/extractcontrol.c
+++ b/extractcontrol.c
@@ -29,6 +29,7 @@
 #include "filecntl.h"
 #include "readtextfile.h"
 #include "debfile.h"
+#include "chunks.h"
 
 #ifdef HAVE_LIBARCHIVE
 #error Why did this file got compiled instead of debfile.c?
@@ -139,6 +140,7 @@ static retvalue try_extractcontrol(char **control, const char *debfile, bool bro
 		if (RET_IS_OK(r)) {
 			len = chunk_extract(controlchunk,
 					controlchunk, controllen,
+					true,
 					&afterchanges);
 			if (len == 0)
 				r = RET_NOTHING;

Reply via email to