summaryrefslogtreecommitdiffstats
path: root/firmware/common/file.c
diff options
context:
space:
mode:
Diffstat (limited to 'firmware/common/file.c')
-rw-r--r--firmware/common/file.c5
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;