diff --git a/src/core.c b/src/core.c index da2869233..380137b7f 100644 --- a/src/core.c +++ b/src/core.c @@ -1822,10 +1822,7 @@ int StorageLoadValue(int position) // Open URL with default system browser (if available) void OpenURL(const char *url) { - // Max length is "explorer ".length + url.maxlength (which is 2083), - // but we are not wasting that much memory here... let's set it up to 512 - static char cmd[512] = { 0 }; - + char *cmd = calloc(10 + strlen(url), sizeof(char)); #if defined(_WIN32) strcpy(cmd, "explorer "); #elif defined(__linux__) @@ -1833,11 +1830,9 @@ void OpenURL(const char *url) #elif defined(__APPLE__) strcpy(cmd, "open "); #endif - strcat(cmd, url); system(cmd); - - memset(cmd, 0, 512); + free(cmd); } //----------------------------------------------------------------------------------