libopkg: strip trailing white space in conffile specification
authorJo-Philipp Wich <jo@mein.io>
Fri, 10 Feb 2017 08:59:59 +0000 (09:59 +0100)
committerJo-Philipp Wich <jo@mein.io>
Fri, 10 Feb 2017 08:59:59 +0000 (09:59 +0100)
The conffile entries in package control lines may have trailing white space,
causing opkg to fail looking up the file paths.

Trim white space to avoid this error.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
libopkg/opkg_install.c

index 74a2ce1..e68c813 100644 (file)
@@ -274,6 +274,7 @@ unpack_pkg_control_files(pkg_t *pkg)
      while (1) {
          char *cf_name;
          char *cf_name_in_dest;
+         int i;
 
          cf_name = file_read_line_alloc(conffiles_file);
          if (cf_name == NULL) {
@@ -282,6 +283,12 @@ unpack_pkg_control_files(pkg_t *pkg)
          if (cf_name[0] == '\0') {
               continue;
          }
+         for (i = strlen(cf_name) - 1;
+              (i >= 0) && (cf_name[i] == ' ' || cf_name[i] == '\t');
+              i--
+         ) {
+              cf_name[i] = '\0';
+         }
 
          /* Prepend dest->root_dir to conffile name.
             Take pains to avoid multiple slashes. */