The following commit has been merged in the master branch:
commit dda789127b322fa9f47b7571a14b4e594ee1b331
Author: Guillem Jover <[email protected]>
Date:   Sun Oct 30 05:41:53 2011 +0100

    libdpkg: Check for depnamelength being 0 instead of depname[0] being NUL

diff --git a/lib/dpkg/fields.c b/lib/dpkg/fields.c
index 66bbc11..6b4a0f9 100644
--- a/lib/dpkg/fields.c
+++ b/lib/dpkg/fields.c
@@ -390,13 +390,15 @@ f_dependency(struct pkginfo *pigp, struct pkgbin *pifp,
        p++;
       }
       depnamelength= p - depnamestart ;
-      varbuf_reset(&depname);
-      varbuf_add_buf(&depname, depnamestart, depnamelength);
-      varbuf_end_str(&depname);
-      if (!depname.buf[0])
+      if (depnamelength == 0)
         parse_error(ps,
                     _("`%s' field, missing package name, or garbage where "
                       "package name expected"), fip->name);
+
+      varbuf_reset(&depname);
+      varbuf_add_buf(&depname, depnamestart, depnamelength);
+      varbuf_end_str(&depname);
+
       emsg = pkg_name_is_illegal(depname.buf, NULL);
       if (emsg)
         parse_error(ps,

-- 
dpkg's main repository


-- 
To UNSUBSCRIBE, email to [email protected]
with a subject of "unsubscribe". Trouble? Contact [email protected]

Reply via email to