diff options
Diffstat (limited to 'src/core.c')
| -rw-r--r-- | src/core.c | 23 |
1 files changed, 4 insertions, 19 deletions
@@ -1828,24 +1828,10 @@ void OpenURL(const char *url) { // Small security check trying to avoid (partially) malicious code... // sorry for the inconvenience when you hit this point... - bool validUrl = true; - int len = strlen(url); - - for (int i = 0; i < len; i++) - { - if ((url[i] == ';') || - (url[i] == '?') || - (url[i] == ':') || - (url[i] == '=') || - (url[i] == '&')) - { - validUrl = false; - break; - } - } - - if (validUrl) + if (strchr(url, '\'') != NULL) { + TraceLog(LOG_WARNING, "Provided URL does not seem to be valid."); + } else { char *cmd = calloc(strlen(url) + 10, sizeof(char)); #if defined(_WIN32) @@ -1856,10 +1842,9 @@ void OpenURL(const char *url) sprintf(cmd, "open '%s'", url); #endif system(cmd); - + free(cmd); } - else TraceLog(LOG_WARNING, "Provided URL does not seem to be valid."); } //---------------------------------------------------------------------------------- |
