summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGiampaolo Rodola <g.rodola@gmail.com>2017-05-13 22:02:22 +0200
committerGiampaolo Rodola <g.rodola@gmail.com>2017-05-13 22:02:22 +0200
commitb7ea5a38a3f09f1dceacf05a8cbc82562db84aa4 (patch)
treebd951c3625c05a58e539726c6653437be7634883
parent93e224d40ba046cf10be7d7633e055aada81e2a8 (diff)
parentc0550c79cf304bd753f4199c40eaef45b8179bdd (diff)
downloadpsutil-b7ea5a38a3f09f1dceacf05a8cbc82562db84aa4.tar.gz
Merge branch 'master' into 930-netbsd-connections-segfault
-rw-r--r--HISTORY.rst1
-rw-r--r--psutil/arch/bsd/netbsd.c1
-rwxr-xr-xpsutil/tests/test_memory_leaks.py5
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)