diff --git a/pycardium/modules/os.c b/pycardium/modules/os.c index 0bbfc05cf22512f358a838a74fa16ac29e954bd8..874a069322faaefaff63c493ebb10d3aa8ffb382 100644 --- a/pycardium/modules/os.c +++ b/pycardium/modules/os.c @@ -10,12 +10,20 @@ #include "os.h" -bool pycrd_filename_restricted(const char *fname) +bool pycrd_filename_restricted(const char *path) { // files that cannot be opened in write modes const char *const forbidden_files[] = { "card10.bin", "menu.py", "main.py", "card10.cfg" }; + + const char *fname = strchr(path, '/'); + while (fname) { + path = fname + 1; + fname = strchr(path, '/'); + } + fname = path; + for (int i = 0; i < sizeof(forbidden_files) / sizeof(forbidden_files[0]); i++) {