From f0807d2be1cee5aedc48681ae2df978fa3a44ab6 Mon Sep 17 00:00:00 2001 From: Laurentino Luna <81370009+lauchimoon@users.noreply.github.com> Date: Tue, 27 Feb 2024 09:08:47 -0300 Subject: [PATCH] Change sanitization check for `ExportDataAsCode` (#3837) * Change sanitization check for `ExportDataAsCode` I opted to use `isalnum` function since it should handle most cases. It cannot however handle cases of files beginning with numbers. * Update `ExportDataAsCode` condition * Reinsert comment on `ExportDataAsCode` --- src/utils.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/utils.c b/src/utils.c index 78b3b7bd..2c26c114 100644 --- a/src/utils.c +++ b/src/utils.c @@ -320,8 +320,8 @@ bool ExportDataAsCode(const unsigned char *data, int dataSize, const char *fileN { // Convert variable name to uppercase if ((varFileName[i] >= 'a') && (varFileName[i] <= 'z')) { varFileName[i] = varFileName[i] - 32; } - // Replace '-' (non valid character for C identifier with '_') - if (varFileName[i] == '-') { varFileName[i] = '_'; } + // Replace non valid character for C identifier with '_' + else if (varFileName[i] == '.' || varFileName[i] == '-' || varFileName[i] == '?' || varFileName[i] == '!' || varFileName[i] == '+') { varFileName[i] = '_'; } } byteCount += sprintf(txtData + byteCount, "#define %s_DATA_SIZE %i\n\n", varFileName, dataSize);