]> err.no Git - dpkg/commitdiff
libdpkg: Print a longer string when an unknown field value is found
authorGuillem Jover <guillem@debian.org>
Wed, 2 Jul 2008 05:39:19 +0000 (08:39 +0300)
committerGuillem Jover <guillem@debian.org>
Wed, 2 Jul 2008 06:30:24 +0000 (09:30 +0300)
Use a capped string length instead of using last namevalue length
member when printing the disallowed value when parsing.

ChangeLog
debian/changelog
lib/fields.c

index 33a6345a90c8cb5f7880509e471e34f456f17e4c..9021adc7cda974b6c3e2ea57ce11c2a7b10379ca 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2008-07-02  Guillem Jover  <guillem@debian.org>
+
+       * lib/fields.c (convert_string): Use a capped string length instead
+       of using last namevalue length member when printing the disallowed
+       value.
+
 2008-07-02  Guillem Jover  <guillem@debian.org>
 
        * src/query.c (limiteddescription): Use NULL instead of 0.
index d648b38ec9f13f93f891d381c973d1ef88ad769e..ef049829005d40329a8487bd3479102f379e471e 100644 (file)
@@ -25,6 +25,7 @@ dpkg (1.15.0) UNRELEASED; urgency=low
   * Do not allocate memory when lstat fails during package upgrade.
   * Properly lstat the correct file when using --root on package upgrade.
     Thanks to Egmont Koblinger. Closes: #281057
+  * Print a longer string when a disallowed field value is found when parsing.
 
   [ Raphael Hertzog ]
   * Enhance dpkg-shlibdeps's error message when a library can't be found to
index cf7ed76237dec8d1fd0e8b3fecd8e6276d88f27f..0ef20a84c26bd15bd1dd15062fc190dd5d9231c7 100644 (file)
@@ -24,6 +24,7 @@
 #include <stdio.h>
 #include <ctype.h>
 #include <string.h>
+#include "strnlen.h"
 
 #include <dpkg.h>
 #include <dpkg-db.h>
@@ -57,7 +58,7 @@ convert_string(const char *filename, int lno, const char *what, int otherwise,
   if (!nvip->name) {
     if (otherwise != -1) return otherwise;
     parse_error(filename, lno, pigp, _("`%.*s' is not allowed for %s"),
-                l > 50 ? 50 : l, startp, what);
+                strnlen(startp, 50), startp, what);
   }
   ep = startp + l;
   c = *ep;