From a9fc0343f08287ba3cb51c231507583770ae5dfe Mon Sep 17 00:00:00 2001 From: Mingjie Shen Date: Thu, 20 Apr 2023 18:20:37 -0400 Subject: [PATCH] extmod/vfs_lfsx: Fix offset used before range check. Use of offset 'from' should follow the range check. Signed-off-by: Mingjie Shen --- extmod/vfs_lfsx.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/extmod/vfs_lfsx.c b/extmod/vfs_lfsx.c index de1f421977..fe0731eced 100644 --- a/extmod/vfs_lfsx.c +++ b/extmod/vfs_lfsx.c @@ -323,7 +323,7 @@ STATIC mp_obj_t MP_VFS_LFSx(chdir)(mp_obj_t self_in, mp_obj_t path_in) { size_t from = 1; char *cwd = vstr_str(&self->cur_dir); while (from < CWD_LEN) { - for (; cwd[from] == '/' && from < CWD_LEN; ++from) { + for (; from < CWD_LEN && cwd[from] == '/'; ++from) { // Scan for the start } if (from > to) { @@ -331,7 +331,7 @@ STATIC mp_obj_t MP_VFS_LFSx(chdir)(mp_obj_t self_in, mp_obj_t path_in) { vstr_cut_out_bytes(&self->cur_dir, to, from - to); from = to; } - for (; cwd[from] != '/' && from < CWD_LEN; ++from) { + for (; from < CWD_LEN && cwd[from] != '/'; ++from) { // Scan for the next / } if ((from - to) == 1 && cwd[to] == '.') {