diff --git a/Lib/scilab/scirun.swg b/Lib/scilab/scirun.swg index 961ac1c21..9c88df128 100644 --- a/Lib/scilab/scirun.swg +++ b/Lib/scilab/scirun.swg @@ -49,8 +49,13 @@ static char *SWIG_Scilab_GetFuncName(void) { static void SWIG_Scilab_SetFuncName(char *funcName) { if (SwigFuncName != NULL) { free(SwigFuncName); + SwigFuncName = NULL; + } + if (funcName) { + SwigFuncName = (char *)malloc(strlen(funcName) + 1); + if (SwigFuncName) + strcpy(SwigFuncName, funcName); } - SwigFuncName = strdup(funcName); } /* Api context management functions */