summaryrefslogtreecommitdiffstats
path: root/cpukit/libdl/rtl-archive.c
diff options
context:
space:
mode:
authorChris Johns <chrisj@rtems.org>2023-08-28 13:49:29 +1000
committerChris Johns <chrisj@rtems.org>2023-08-28 13:52:46 +1000
commitceb136c7b64b388d293061f064d7b8ccdfd9c9ba (patch)
tree3383c17612fb65b4a18ac7e21d0dc27bde0d91c0 /cpukit/libdl/rtl-archive.c
parentcpukit/libdl: Correctly account for section alignments (diff)
downloadrtems-ceb136c7b64b388d293061f064d7b8ccdfd9c9ba.tar.bz2
cpukit/libdl: Fix incorrect operator precedence access the name
Coverity Issue: CID 1442635 Out-of-bounds access
Diffstat (limited to 'cpukit/libdl/rtl-archive.c')
-rw-r--r--cpukit/libdl/rtl-archive.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/cpukit/libdl/rtl-archive.c b/cpukit/libdl/rtl-archive.c
index f916336f7c..4a6d2cbf0b 100644
--- a/cpukit/libdl/rtl-archive.c
+++ b/cpukit/libdl/rtl-archive.c
@@ -1174,6 +1174,7 @@ rtems_rtl_obj_archive_find_obj (int fd,
*/
if (header[0] == '/')
{
+ const char* name_ = *name;
off_t extended_off;
switch (header[1])
@@ -1190,7 +1191,7 @@ rtems_rtl_obj_archive_find_obj (int fd,
* return the result.
*/
*extended_file_names = *ooffset + RTEMS_RTL_AR_FHDR_SIZE;
- if (*name[0] == '/' && *name[1] == '/')
+ if (name_[0] == '/' && name_[1] == '/')
{
*ooffset = *ooffset + RTEMS_RTL_AR_FHDR_SIZE;
return true;