Quellcode durchsuchen

dpkg-query: Fix strtol() errno check when parsing the COLUMNS envvar

Regression introduced in commit 3d258742dfe5cd18e4e06a5fbd855b99bb95046e.

Closes: #827265
Signed-off-by: Guillem Jover <guillem@debian.org>
Sven Joachim vor 10 Jahren
Ursprung
Commit
4ae57cb6d9
2 geänderte Dateien mit 3 neuen und 1 gelöschten Zeilen
  1. 2 0
      debian/changelog
  2. 1 1
      src/querycmd.c

+ 2 - 0
debian/changelog

@@ -25,6 +25,8 @@ dpkg (1.18.8) UNRELEASED; urgency=medium
   * Activate file triggers for conffiles on purge, which has never happened
   * Activate file triggers for conffiles on purge, which has never happened
     before. Before dpkg 1.17.0, conffiles were triggered on removal, which
     before. Before dpkg 1.17.0, conffiles were triggered on removal, which
     was obviously wrong. Reported by Helmut Grohne <helmut@subdivi.de>.
     was obviously wrong. Reported by Helmut Grohne <helmut@subdivi.de>.
+  * Fix strtol() errno check when parsing the COLUMNS envvar in dpkg-query.
+    Thanks to Sven Joachim <svenjoac@gmx.de>. Closes: #827265
   * Perl modules:
   * Perl modules:
     - Use warnings::warnif() instead of carp() for deprecated warnings.
     - Use warnings::warnif() instead of carp() for deprecated warnings.
     - Add new format_range() method and deprecate dpkg() and rfc822() methods
     - Add new format_range() method and deprecate dpkg() and rfc822() methods

+ 1 - 1
src/querycmd.c

@@ -74,7 +74,7 @@ static int getwidth(void) {
   if (columns) {
   if (columns) {
     errno = 0;
     errno = 0;
     res = strtol(columns, &endptr, 10);
     res = strtol(columns, &endptr, 10);
-    if (errno != 0 && columns != endptr && *endptr == '\0' &&
+    if (errno == 0 && columns != endptr && *endptr == '\0' &&
         res > 0 && res < INT_MAX)
         res > 0 && res < INT_MAX)
       return res;
       return res;
   }
   }