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 Index: Makefile =================================================================== RCS file: /cvsroot/pkgsrc/sysutils/py-psutil/Makefile,v retrieving revision 1.29 diff -u -p -r1.29 Makefile --- Makefile 1 Jun 2019 01:11:57 -0000 1.29 +++ Makefile 7 Jun 2019 18:29:54 -0000 @@ -1,7 +1,7 @@ # $NetBSD: Makefile,v 1.29 2019/06/01 01:11:57 kamil Exp $ DISTNAME= psutil-5.6.2 -PKGREVISION= 1 +PKGREVISION= 2 PKGNAME= ${PYPKGPREFIX}-${DISTNAME} CATEGORIES= sysutils python MASTER_SITES= ${MASTER_SITE_PYPI:=p/psutil/} Index: distinfo =================================================================== RCS file: /cvsroot/pkgsrc/sysutils/py-psutil/distinfo,v retrieving revision 1.29 diff -u -p -r1.29 distinfo --- distinfo 1 Jun 2019 01:11:57 -0000 1.29 +++ distinfo 7 Jun 2019 18:29:54 -0000 @@ -6,5 +6,5 @@ SHA512 (psutil-5.6.2.tar.gz) = ff41428b4 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 Index: patches/patch-psutil_arch_netbsd_specific.c =================================================================== RCS file: /cvsroot/pkgsrc/sysutils/py-psutil/patches/patch-psutil_arch_netbsd_specific.c,v retrieving revision 1.2 diff -u -p -r1.2 patch-psutil_arch_netbsd_specific.c --- patches/patch-psutil_arch_netbsd_specific.c 1 Jun 2019 01:11:57 -0000 1.2 +++ patches/patch-psutil_arch_netbsd_specific.c 7 Jun 2019 18:29:54 -0000 @@ -4,6 +4,9 @@ Don't include on NetBSD. In 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 @@ Use proc_cwd on NetBSD >= 8.99.42. // 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; + } +