[PATCH 2/4] libdl/archive: Fix the config file string index while removing tailing white space.

chrisj at rtems.org chrisj at rtems.org
Mon Feb 18 02:33:25 UTC 2019


From: Chris Johns <chrisj at rtems.org>

Coverity issue 1442540

Updates #3686
---
 cpukit/include/rtems/rtl/rtl-archive.h | 2 +-
 cpukit/libdl/rtl-archive.c             | 4 ++--
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/cpukit/include/rtems/rtl/rtl-archive.h b/cpukit/include/rtems/rtl/rtl-archive.h
index 1fe3aae385..8aa163e782 100644
--- a/cpukit/include/rtems/rtl/rtl-archive.h
+++ b/cpukit/include/rtems/rtl/rtl-archive.h
@@ -103,7 +103,7 @@ typedef struct rtems_rtl_archives
   const char*         config_name;    /**< Config file name. */
   time_t              config_mtime;   /**< Config last modified time. */
   size_t              config_length;  /**< Length the config data. */
-  const char*         config;         /**< Config file contents. */
+  char*               config;         /**< Config file contents. */
   rtems_chain_control archives;       /**< The located archives. */
 } rtems_rtl_archives;
 
diff --git a/cpukit/libdl/rtl-archive.c b/cpukit/libdl/rtl-archive.c
index faa6616eb1..8490b4bc07 100644
--- a/cpukit/libdl/rtl-archive.c
+++ b/cpukit/libdl/rtl-archive.c
@@ -528,9 +528,9 @@ rtems_rtl_archives_load_config (rtems_rtl_archives* archives)
           ++b;
         }
         b = ls - 1;
-        while (b > 0 && isspace (s[b]))
+        while (b > 0 && isspace (s[r + b]))
         {
-          s[b] = '\0';
+          s[r + b] = '\0';
           --b;
         }
         r += ls;
-- 
2.19.1




More information about the devel mailing list