diff options
Diffstat (limited to 'firmware/common/file.c')
-rw-r--r-- | firmware/common/file.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/firmware/common/file.c b/firmware/common/file.c index 202410db81..2012e2ff80 100644 --- a/firmware/common/file.c +++ b/firmware/common/file.c @@ -1056,7 +1056,7 @@ int rename(const char *old, const char *new) FILE_ERROR(EINVAL, -4); } - const char * const oldname = strmemdupa(oldinfo.name, oldinfo.length); + //const char * const oldname = strmemdupa(oldinfo.name, oldinfo.length); const char * const newname = strmemdupa(newinfo.name, newinfo.length); bool is_overwrite = false; @@ -1076,7 +1076,8 @@ int rename(const char *old, const char *new) FILE_ERROR(ERRNO, rc * 10 - 5); } } - else if (!strcmp(newname, oldname)) /* case-only is ok */ + else if (!strncmp(newname, oldinfo.name, oldinfo.length) && /* case-only is ok */ + newname[oldinfo.length] == '\0') /* make sure of actual match */ { DEBUGF("No name change (success)\n"); rc = 0; |