diff options
author | Giampaolo Rodola <g.rodola@gmail.com> | 2017-05-13 22:02:22 +0200 |
---|---|---|
committer | Giampaolo Rodola <g.rodola@gmail.com> | 2017-05-13 22:02:22 +0200 |
commit | b7ea5a38a3f09f1dceacf05a8cbc82562db84aa4 (patch) | |
tree | bd951c3625c05a58e539726c6653437be7634883 | |
parent | 93e224d40ba046cf10be7d7633e055aada81e2a8 (diff) | |
parent | c0550c79cf304bd753f4199c40eaef45b8179bdd (diff) | |
download | psutil-b7ea5a38a3f09f1dceacf05a8cbc82562db84aa4.tar.gz |
Merge branch 'master' into 930-netbsd-connections-segfault
-rw-r--r-- | HISTORY.rst | 1 | ||||
-rw-r--r-- | psutil/arch/bsd/netbsd.c | 1 | ||||
-rwxr-xr-x | psutil/tests/test_memory_leaks.py | 5 |
3 files changed, 5 insertions, 2 deletions
diff --git a/HISTORY.rst b/HISTORY.rst index 788ad064..ee18f0e0 100644 --- a/HISTORY.rst +++ b/HISTORY.rst @@ -52,6 +52,7 @@ - 1063_: [NetBSD] net_connections() may list incorrect sockets. - 1064_: [NetBSD] swap_memory() may segfault in case of error. - 1065_: [OpenBSD] Process.cmdline() may raise SystemError. +- 1067_: [NetBSD] Process.cmdline() memory leak. **Porting notes** diff --git a/psutil/arch/bsd/netbsd.c b/psutil/arch/bsd/netbsd.c index a2a9dd5b..972418ff 100644 --- a/psutil/arch/bsd/netbsd.c +++ b/psutil/arch/bsd/netbsd.c @@ -343,6 +343,7 @@ psutil_get_cmd_args(pid_t pid, size_t *argsize) { st = sysctl(mib, 4, procargs, &argmax, NULL, 0); if (st == -1) { + free(procargs); PyErr_SetFromErrno(PyExc_OSError); return NULL; } diff --git a/psutil/tests/test_memory_leaks.py b/psutil/tests/test_memory_leaks.py index 3e3087dc..9d05834c 100755 --- a/psutil/tests/test_memory_leaks.py +++ b/psutil/tests/test_memory_leaks.py @@ -29,12 +29,13 @@ from psutil import POSIX from psutil import SUNOS from psutil import WINDOWS from psutil._compat import xrange +from psutil.tests import create_sockets from psutil.tests import get_test_subprocess from psutil.tests import HAS_CPU_AFFINITY from psutil.tests import HAS_CPU_FREQ -from psutil.tests import create_sockets from psutil.tests import HAS_ENVIRON from psutil.tests import HAS_IONICE +from psutil.tests import HAS_MEMORY_MAPS from psutil.tests import HAS_PROC_CPU_NUM from psutil.tests import HAS_PROC_IO_COUNTERS from psutil.tests import HAS_RLIMIT @@ -341,7 +342,7 @@ class TestProcessObjectLeaks(TestMemLeak): # OSX implementation is unbelievably slow @unittest.skipIf(OSX, "too slow on OSX") - @unittest.skipIf(OPENBSD, "not supported") + @unittest.skipIf(not HAS_MEMORY_MAPS, "not supported") @skip_if_linux() def test_memory_maps(self): self.execute(self.proc.memory_maps) |