pkgsrc-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[pkgsrc/trunk]: pkgsrc/sysutils/py-psutil py-psutil: Fix psutil.Popen.as_dict...
details: https://anonhg.NetBSD.org/pkgsrc/rev/f91eaae41cc0
branches: trunk
changeset: 396709:f91eaae41cc0
user: leot <leot%pkgsrc.org@localhost>
date: Fri Jun 07 19:09:06 2019 +0000
description:
py-psutil: Fix psutil.Popen.as_dict() MemoryError on NetBSD
Previously for kern.argmax a size_t was used in sysctl(3) and the
uninitialized data lead to a too big malloc() call that failed.
Bump PKGREVISION
diffstat:
sysutils/py-psutil/Makefile | 4 +-
sysutils/py-psutil/distinfo | 4 +-
sysutils/py-psutil/patches/patch-psutil_arch_netbsd_specific.c | 33 +++++++++-
3 files changed, 36 insertions(+), 5 deletions(-)
diffs (78 lines):
diff -r 17aea0c50858 -r f91eaae41cc0 sysutils/py-psutil/Makefile
--- a/sysutils/py-psutil/Makefile Fri Jun 07 18:56:01 2019 +0000
+++ b/sysutils/py-psutil/Makefile Fri Jun 07 19:09:06 2019 +0000
@@ -1,7 +1,7 @@
-# $NetBSD: Makefile,v 1.29 2019/06/01 01:11:57 kamil Exp $
+# $NetBSD: Makefile,v 1.30 2019/06/07 19:09:06 leot Exp $
DISTNAME= psutil-5.6.2
-PKGREVISION= 1
+PKGREVISION= 2
PKGNAME= ${PYPKGPREFIX}-${DISTNAME}
CATEGORIES= sysutils python
MASTER_SITES= ${MASTER_SITE_PYPI:=p/psutil/}
diff -r 17aea0c50858 -r f91eaae41cc0 sysutils/py-psutil/distinfo
--- a/sysutils/py-psutil/distinfo Fri Jun 07 18:56:01 2019 +0000
+++ b/sysutils/py-psutil/distinfo Fri Jun 07 19:09:06 2019 +0000
@@ -1,4 +1,4 @@
-$NetBSD: distinfo,v 1.29 2019/06/01 01:11:57 kamil Exp $
+$NetBSD: distinfo,v 1.30 2019/06/07 19:09:06 leot Exp $
SHA1 (psutil-5.6.2.tar.gz) = c01d48a103196eb513b72d32fbc7cee1ed64a38c
RMD160 (psutil-5.6.2.tar.gz) = 5450a028ad787d3e274a2c0e11c127bf5cd7e9da
@@ -6,5 +6,5 @@
Size (psutil-5.6.2.tar.gz) = 432907 bytes
SHA1 (patch-psutil___psbsd.py) = f8888b8f386a1928446c7d588a7a46f2674c69f6
SHA1 (patch-psutil___psutil__bsd.c) = 5516c6c257b389c7e977074d2a6eeb3c23f565d1
-SHA1 (patch-psutil_arch_netbsd_specific.c) = 3809727dcf605af44ec15f0ef5924acd65be5ea9
+SHA1 (patch-psutil_arch_netbsd_specific.c) = d43bc4d28212f75721df5a18287953d18a5673a4
SHA1 (patch-psutil_arch_netbsd_specific.h) = 4d6b3c96eefeec4908e1006b96ab175d64714dd2
diff -r 17aea0c50858 -r f91eaae41cc0 sysutils/py-psutil/patches/patch-psutil_arch_netbsd_specific.c
--- a/sysutils/py-psutil/patches/patch-psutil_arch_netbsd_specific.c Fri Jun 07 18:56:01 2019 +0000
+++ b/sysutils/py-psutil/patches/patch-psutil_arch_netbsd_specific.c Fri Jun 07 19:09:06 2019 +0000
@@ -1,9 +1,12 @@
-$NetBSD: patch-psutil_arch_netbsd_specific.c,v 1.2 2019/06/01 01:11:57 kamil Exp $
+$NetBSD: patch-psutil_arch_netbsd_specific.c,v 1.3 2019/06/07 19:09:06 leot Exp $
Don't include <sys/user.h> on NetBSD. Include <sys/iostat.h> instead.
Use proc_cwd on NetBSD >= 8.99.42.
+Use an `int' to store `kern.argmax' to avoid possible read of
+uninitialized memory.
+
--- psutil/arch/netbsd/specific.c.orig 2019-03-02 20:46:28.000000000 +0000
+++ psutil/arch/netbsd/specific.c
@@ -22,7 +22,7 @@
@@ -40,3 +43,31 @@
// XXX: This is no longer used as per
// https://github.com/giampaolo/psutil/pull/557#issuecomment-171912820
+@@ -313,8 +331,8 @@ psutil_get_proc_list(kinfo_proc **procLi
+ char *
+ psutil_get_cmd_args(pid_t pid, size_t *argsize) {
+ int mib[4];
++ int argmax;
+ ssize_t st;
+- size_t argmax;
+ size_t size;
+ char *procargs = NULL;
+
+@@ -339,14 +357,15 @@ psutil_get_cmd_args(pid_t pid, size_t *a
+ mib[2] = pid;
+ mib[3] = KERN_PROC_ARGV;
+
+- st = sysctl(mib, 4, procargs, &argmax, NULL, 0);
++ size = argmax;
++ st = sysctl(mib, 4, procargs, &size, NULL, 0);
+ if (st == -1) {
+ free(procargs);
+ PyErr_SetFromErrno(PyExc_OSError);
+ return NULL;
+ }
+
+- *argsize = argmax;
++ *argsize = size;
+ return procargs;
+ }
+
Home |
Main Index |
Thread Index |
Old Index