Skip to content

Commit

Permalink
opal: fix opal_basename() for single character filenames
Browse files Browse the repository at this point in the history
Thanks Jeff Hammond for the bug report

Refs. #12619

Signed-off-by: Gilles Gouaillardet <[email protected]>
(cherry picked from commit dd34ecf)
  • Loading branch information
ggouaillardet authored and janjust committed Jun 27, 2024
1 parent a3acb33 commit ee6d200
Showing 1 changed file with 13 additions and 11 deletions.
24 changes: 13 additions & 11 deletions opal/util/basename.c
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,8 @@
* Copyright (c) 2004-2005 The Regents of the University of California.
* All rights reserved.
* Copyright (c) 2009-2014 Cisco Systems, Inc. All rights reserved.
* Copyright (c) 2014-2015 Research Organization for Information Science
* and Technology (RIST). All rights reserved.
* Copyright (c) 2014-2024 Research Organization for Information Science
* and Technology (RIST). All rights reserved.
* Copyright (c) 2014 Intel, Inc. All rights reserved.
* $COPYRIGHT$
*
Expand Down Expand Up @@ -77,16 +77,18 @@ char *opal_basename(const char *filename)

/* Remove trailing sep's (note that we already know that strlen > 0) */
tmp = strdup(filename);
for (i = strlen(tmp) - 1; i > 0; --i) {
if (sep == tmp[i]) {
tmp[i] = '\0';
} else {
break;
if (1 < strlen(tmp)) {
for (i = strlen(tmp) - 1; i > 0; --i) {
if (sep == tmp[i]) {
tmp[i] = '\0';
} else {
break;
}
}
if (0 == i) {
tmp[0] = sep;
return tmp;
}
}
if (0 == i) {
tmp[0] = sep;
return tmp;
}

/* Look for the final sep */
Expand Down

0 comments on commit ee6d200

Please sign in to comment.