From 88063395ff461d6fbd200a25c2b817cb56b93d0d Mon Sep 17 00:00:00 2001 From: lauchimoon Date: Mon, 26 Feb 2024 08:09:11 -0300 Subject: [PATCH] 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. --- src/utils.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/utils.c b/src/utils.c index 78b3b7bdc..6b7323a57 100644 --- a/src/utils.c +++ b/src/utils.c @@ -48,6 +48,7 @@ #include // Required for: FILE, fopen(), fseek(), ftell(), fread(), fwrite(), fprintf(), vprintf(), fclose() #include // Required for: va_list, va_start(), va_end() #include // Required for: strcpy(), strcat() +#include // Required for: isalnum() //---------------------------------------------------------------------------------- // Defines and Macros @@ -320,8 +321,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 '_' + if (!isalnum(varFileName[i])) { varFileName[i] = '_'; } } byteCount += sprintf(txtData + byteCount, "#define %s_DATA_SIZE %i\n\n", varFileName, dataSize);