tags 35573 +patch
thanks

Patch is against dpkg 1.9.21, and works for me.

--- info.c      23 Apr 2001 20:42:17 -0000      1.11
+++ info.c      15 Nov 2002 10:14:57 -0000
@@ -84,11 +84,24 @@
 static void info_spew(const char *debar, const char *directory,
                       const char *const *argv) {
   const char *component;
+       long int pathlen;
+       char *controlfile = NULL;
   FILE *co;
   int re= 0;
 
   while ((component= *argv++) != 0) {
-    co= fopen(component,"r");
+               pathlen = strlen(directory) +
+                       strlen(component) +
+                       2;
+               controlfile = (void *) realloc((void *) controlfile, pathlen);
+               if (!controlfile)
+                       ohshite(_("realloc failed (%ld bytes)"), pathlen);
+               bzero(controlfile, sizeof(controlfile));
+
+               strcat(controlfile, directory);
+               strcat(controlfile, "/");
+               strcat(controlfile, component);
+    co= fopen(controlfile,"r");
     if (co) {
       stream_fd_copy(co, 1, -1, _("info_spew"));
     } else if (errno == ENOENT) {
@@ -101,6 +114,7 @@
     }
   }
   if (re) ohshit(_("at least one requested control component missing"));
+       free(controlfile);
 }
 
 static void info_list(const char *debar, const char *directory) {

-- 
"das ist liebe, das ist hass / mit eifersucht vermahlen"


Reply via email to