[MacPorts] #40978: emacs-app @24.3_1/emacs-mac-app @4.4: memory bug in patch-src_emacs.c.diff
#40978: emacs-app @24.3_1/emacs-mac-app @4.4: memory bug in patch-src_emacs.c.diff ------------------------+------------------------------------- Reporter: takanori@… | Owner: hum@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.2.0 Keywords: haspatch | Port: emacs-app emacs-mac-app ------------------------+------------------------------------- I noticed that there is a minor bug in patch-src_emacs.c.diff. {{{ [patch-src_emacs.c.diff] ... + /* Imaxima won't work properly if PATH does not contain the + MacPorts directory. The following code is a workaround to + avoid this problem. */ + { + char *oldpath = getenv("PATH"); + if (!oldpath) {oldpath = "";} + size_t oldpathsize = strlen(oldpath) + 1; + if (!strstr(oldpath, "__PREFIX__/bin")) { + char *newpath; + size_t newpathsize = oldpathsize + strlen("__PREFIX__/bin:"); + if ((newpath = (char *)malloc(newpathsize)) != NULL) { + strlcpy(newpath, "__PREFIX__/bin:", newpathsize); + strlcat(newpath, oldpath, newpathsize); + setenv("PATH", newpath, 1); + free(newpath); + } + } + } ... }}} setenv(3) says the string pointed to by the 2nd argument of setenv shouldn't be altered/freed during the application program is running. i.e. The line "free(newpath);" should be commented out. -- Ticket URL: <https://trac.macports.org/ticket/40978> MacPorts <http://www.macports.org/> Ports system for OS X
participants (1)
-
MacPorts