import python-psutil-5.4.3-11.el8
This commit is contained in:
commit
a7637a3035
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
||||
SOURCES/psutil-5.4.3.tar.gz
|
1
.python-psutil.metadata
Normal file
1
.python-psutil.metadata
Normal file
@ -0,0 +1 @@
|
||||
d1335bf6850e57fe6fa758caf74fced68ca66d92 SOURCES/psutil-5.4.3.tar.gz
|
600
SOURCES/CVE-2019-18874.patch
Normal file
600
SOURCES/CVE-2019-18874.patch
Normal file
@ -0,0 +1,600 @@
|
||||
diff --git a/psutil/_psutil_aix.c b/psutil/_psutil_aix.c
|
||||
index 916254d..37a1fb2 100644
|
||||
--- a/psutil/_psutil_aix.c
|
||||
+++ b/psutil/_psutil_aix.c
|
||||
@@ -158,8 +158,8 @@ psutil_proc_name_and_args(PyObject *self, PyObject *args) {
|
||||
py_retlist = Py_BuildValue("OO", py_name, py_args);
|
||||
if (!py_retlist)
|
||||
goto error;
|
||||
- Py_DECREF(py_name);
|
||||
- Py_DECREF(py_args);
|
||||
+ Py_CLEAR(py_name);
|
||||
+ Py_CLEAR(py_args);
|
||||
return py_retlist;
|
||||
|
||||
error:
|
||||
@@ -389,10 +389,10 @@ psutil_users(PyObject *self, PyObject *args) {
|
||||
goto error;
|
||||
if (PyList_Append(py_retlist, py_tuple))
|
||||
goto error;
|
||||
- Py_DECREF(py_username);
|
||||
- Py_DECREF(py_tty);
|
||||
- Py_DECREF(py_hostname);
|
||||
- Py_DECREF(py_tuple);
|
||||
+ Py_CLEAR(py_username);
|
||||
+ Py_CLEAR(py_tty);
|
||||
+ Py_CLEAR(py_hostname);
|
||||
+ Py_CLEAR(py_tuple);
|
||||
}
|
||||
endutxent();
|
||||
|
||||
@@ -449,9 +449,9 @@ psutil_disk_partitions(PyObject *self, PyObject *args) {
|
||||
goto error;
|
||||
if (PyList_Append(py_retlist, py_tuple))
|
||||
goto error;
|
||||
- Py_DECREF(py_dev);
|
||||
- Py_DECREF(py_mountp);
|
||||
- Py_DECREF(py_tuple);
|
||||
+ Py_CLEAR(py_dev);
|
||||
+ Py_CLEAR(py_mountp);
|
||||
+ Py_CLEAR(py_tuple);
|
||||
mt = getmntent(file);
|
||||
}
|
||||
endmntent(file);
|
||||
diff --git a/psutil/_psutil_bsd.c b/psutil/_psutil_bsd.c
|
||||
index 9a2ed04..3dc04e0 100644
|
||||
--- a/psutil/_psutil_bsd.c
|
||||
+++ b/psutil/_psutil_bsd.c
|
||||
@@ -152,7 +152,7 @@ psutil_pids(PyObject *self, PyObject *args) {
|
||||
goto error;
|
||||
if (PyList_Append(py_retlist, py_pid))
|
||||
goto error;
|
||||
- Py_DECREF(py_pid);
|
||||
+ Py_CLEAR(py_pid);
|
||||
proclist++;
|
||||
}
|
||||
free(orig_address);
|
||||
@@ -507,8 +507,8 @@ psutil_proc_open_files(PyObject *self, PyObject *args) {
|
||||
goto error;
|
||||
if (PyList_Append(py_retlist, py_tuple))
|
||||
goto error;
|
||||
- Py_DECREF(py_path);
|
||||
- Py_DECREF(py_tuple);
|
||||
+ Py_CLEAR(py_path);
|
||||
+ Py_CLEAR(py_tuple);
|
||||
}
|
||||
}
|
||||
free(freep);
|
||||
@@ -670,9 +670,9 @@ psutil_disk_partitions(PyObject *self, PyObject *args) {
|
||||
goto error;
|
||||
if (PyList_Append(py_retlist, py_tuple))
|
||||
goto error;
|
||||
- Py_DECREF(py_dev);
|
||||
- Py_DECREF(py_mountp);
|
||||
- Py_DECREF(py_tuple);
|
||||
+ Py_CLEAR(py_dev);
|
||||
+ Py_CLEAR(py_mountp);
|
||||
+ Py_CLEAR(py_tuple);
|
||||
}
|
||||
|
||||
free(fs);
|
||||
@@ -765,7 +765,7 @@ psutil_net_io_counters(PyObject *self, PyObject *args) {
|
||||
goto error;
|
||||
if (PyDict_SetItemString(py_retdict, ifc_name, py_ifc_info))
|
||||
goto error;
|
||||
- Py_DECREF(py_ifc_info);
|
||||
+ Py_CLEAR(py_ifc_info);
|
||||
}
|
||||
else {
|
||||
continue;
|
||||
@@ -840,10 +840,10 @@ psutil_users(PyObject *self, PyObject *args) {
|
||||
fclose(fp);
|
||||
goto error;
|
||||
}
|
||||
- Py_DECREF(py_username);
|
||||
- Py_DECREF(py_tty);
|
||||
- Py_DECREF(py_hostname);
|
||||
- Py_DECREF(py_tuple);
|
||||
+ Py_CLEAR(py_username);
|
||||
+ Py_CLEAR(py_tty);
|
||||
+ Py_CLEAR(py_hostname);
|
||||
+ Py_CLEAR(py_tuple);
|
||||
}
|
||||
|
||||
fclose(fp);
|
||||
@@ -883,10 +883,10 @@ psutil_users(PyObject *self, PyObject *args) {
|
||||
endutxent();
|
||||
goto error;
|
||||
}
|
||||
- Py_DECREF(py_username);
|
||||
- Py_DECREF(py_tty);
|
||||
- Py_DECREF(py_hostname);
|
||||
- Py_DECREF(py_tuple);
|
||||
+ Py_CLEAR(py_username);
|
||||
+ Py_CLEAR(py_tty);
|
||||
+ Py_CLEAR(py_hostname);
|
||||
+ Py_CLEAR(py_tuple);
|
||||
}
|
||||
|
||||
endutxent();
|
||||
diff --git a/psutil/_psutil_linux.c b/psutil/_psutil_linux.c
|
||||
index d1f0d14..00212ba 100644
|
||||
--- a/psutil/_psutil_linux.c
|
||||
+++ b/psutil/_psutil_linux.c
|
||||
@@ -232,9 +232,9 @@ psutil_disk_partitions(PyObject *self, PyObject *args) {
|
||||
goto error;
|
||||
if (PyList_Append(py_retlist, py_tuple))
|
||||
goto error;
|
||||
- Py_DECREF(py_dev);
|
||||
- Py_DECREF(py_mountp);
|
||||
- Py_DECREF(py_tuple);
|
||||
+ Py_CLEAR(py_dev);
|
||||
+ Py_CLEAR(py_mountp);
|
||||
+ Py_CLEAR(py_tuple);
|
||||
}
|
||||
endmntent(file);
|
||||
return py_retlist;
|
||||
@@ -488,10 +488,10 @@ psutil_users(PyObject *self, PyObject *args) {
|
||||
goto error;
|
||||
if (PyList_Append(py_retlist, py_tuple))
|
||||
goto error;
|
||||
- Py_DECREF(py_username);
|
||||
- Py_DECREF(py_tty);
|
||||
- Py_DECREF(py_hostname);
|
||||
- Py_DECREF(py_tuple);
|
||||
+ Py_CLEAR(py_username);
|
||||
+ Py_CLEAR(py_tty);
|
||||
+ Py_CLEAR(py_hostname);
|
||||
+ Py_CLEAR(py_tuple);
|
||||
}
|
||||
endutent();
|
||||
return py_retlist;
|
||||
diff --git a/psutil/_psutil_osx.c b/psutil/_psutil_osx.c
|
||||
index 55dd64c..37f5284 100644
|
||||
--- a/psutil/_psutil_osx.c
|
||||
+++ b/psutil/_psutil_osx.c
|
||||
@@ -795,7 +795,7 @@ psutil_per_cpu_times(PyObject *self, PyObject *args) {
|
||||
goto error;
|
||||
if (PyList_Append(py_retlist, py_cputime))
|
||||
goto error;
|
||||
- Py_DECREF(py_cputime);
|
||||
+ Py_CLEAR(py_cputime);
|
||||
}
|
||||
|
||||
ret = vm_deallocate(mach_task_self(), (vm_address_t)info_array,
|
||||
@@ -977,9 +977,9 @@ psutil_disk_partitions(PyObject *self, PyObject *args) {
|
||||
goto error;
|
||||
if (PyList_Append(py_retlist, py_tuple))
|
||||
goto error;
|
||||
- Py_DECREF(py_dev);
|
||||
- Py_DECREF(py_mountp);
|
||||
- Py_DECREF(py_tuple);
|
||||
+ Py_CLEAR(py_dev);
|
||||
+ Py_CLEAR(py_mountp);
|
||||
+ Py_CLEAR(py_tuple);
|
||||
}
|
||||
|
||||
free(fs);
|
||||
@@ -1055,7 +1055,6 @@ psutil_proc_threads(PyObject *self, PyObject *args) {
|
||||
}
|
||||
|
||||
for (j = 0; j < thread_count; j++) {
|
||||
- py_tuple = NULL;
|
||||
thread_info_count = THREAD_INFO_MAX;
|
||||
kr = thread_info(thread_list[j], THREAD_BASIC_INFO,
|
||||
(thread_info_t)thinfo_basic, &thread_info_count);
|
||||
@@ -1076,7 +1075,7 @@ psutil_proc_threads(PyObject *self, PyObject *args) {
|
||||
goto error;
|
||||
if (PyList_Append(py_retlist, py_tuple))
|
||||
goto error;
|
||||
- Py_DECREF(py_tuple);
|
||||
+ Py_CLEAR(py_tuple);
|
||||
}
|
||||
|
||||
ret = vm_deallocate(task, (vm_address_t)thread_list,
|
||||
@@ -1185,10 +1184,8 @@ psutil_proc_open_files(PyObject *self, PyObject *args) {
|
||||
goto error;
|
||||
if (PyList_Append(py_retlist, py_tuple))
|
||||
goto error;
|
||||
- Py_DECREF(py_tuple);
|
||||
- py_tuple = NULL;
|
||||
- Py_DECREF(py_path);
|
||||
- py_path = NULL;
|
||||
+ Py_CLEAR(py_tuple);
|
||||
+ Py_CLEAR(py_path);
|
||||
// --- /construct python list
|
||||
}
|
||||
}
|
||||
@@ -1368,7 +1365,7 @@ psutil_proc_connections(PyObject *self, PyObject *args) {
|
||||
goto error;
|
||||
if (PyList_Append(py_retlist, py_tuple))
|
||||
goto error;
|
||||
- Py_DECREF(py_tuple);
|
||||
+ Py_CLEAR(py_tuple);
|
||||
}
|
||||
else if (family == AF_UNIX) {
|
||||
py_laddr = PyUnicode_DecodeFSDefault(
|
||||
@@ -1390,9 +1387,9 @@ psutil_proc_connections(PyObject *self, PyObject *args) {
|
||||
goto error;
|
||||
if (PyList_Append(py_retlist, py_tuple))
|
||||
goto error;
|
||||
- Py_DECREF(py_tuple);
|
||||
- Py_DECREF(py_laddr);
|
||||
- Py_DECREF(py_raddr);
|
||||
+ Py_CLEAR(py_tuple);
|
||||
+ Py_CLEAR(py_laddr);
|
||||
+ Py_CLEAR(py_raddr);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1513,7 +1510,7 @@ psutil_net_io_counters(PyObject *self, PyObject *args) {
|
||||
goto error;
|
||||
if (PyDict_SetItemString(py_retdict, ifc_name, py_ifc_info))
|
||||
goto error;
|
||||
- Py_DECREF(py_ifc_info);
|
||||
+ Py_CLEAR(py_ifc_info);
|
||||
}
|
||||
else {
|
||||
continue;
|
||||
@@ -1686,7 +1683,7 @@ psutil_disk_io_counters(PyObject *self, PyObject *args) {
|
||||
goto error;
|
||||
if (PyDict_SetItemString(py_retdict, disk_name, py_disk_info))
|
||||
goto error;
|
||||
- Py_DECREF(py_disk_info);
|
||||
+ Py_CLEAR(py_disk_info);
|
||||
|
||||
CFRelease(parent_dict);
|
||||
IOObjectRelease(parent);
|
||||
@@ -1748,10 +1745,10 @@ psutil_users(PyObject *self, PyObject *args) {
|
||||
endutxent();
|
||||
goto error;
|
||||
}
|
||||
- Py_DECREF(py_username);
|
||||
- Py_DECREF(py_tty);
|
||||
- Py_DECREF(py_hostname);
|
||||
- Py_DECREF(py_tuple);
|
||||
+ Py_CLEAR(py_username);
|
||||
+ Py_CLEAR(py_tty);
|
||||
+ Py_CLEAR(py_hostname);
|
||||
+ Py_CLEAR(py_tuple);
|
||||
}
|
||||
|
||||
endutxent();
|
||||
diff --git a/psutil/_psutil_posix.c b/psutil/_psutil_posix.c
|
||||
index cc82727..6d9212a 100644
|
||||
--- a/psutil/_psutil_posix.c
|
||||
+++ b/psutil/_psutil_posix.c
|
||||
@@ -324,11 +324,11 @@ psutil_net_if_addrs(PyObject* self, PyObject* args) {
|
||||
goto error;
|
||||
if (PyList_Append(py_retlist, py_tuple))
|
||||
goto error;
|
||||
- Py_DECREF(py_tuple);
|
||||
- Py_DECREF(py_address);
|
||||
- Py_DECREF(py_netmask);
|
||||
- Py_DECREF(py_broadcast);
|
||||
- Py_DECREF(py_ptp);
|
||||
+ Py_CLEAR(py_tuple);
|
||||
+ Py_CLEAR(py_address);
|
||||
+ Py_CLEAR(py_netmask);
|
||||
+ Py_CLEAR(py_broadcast);
|
||||
+ Py_CLEAR(py_ptp);
|
||||
}
|
||||
|
||||
freeifaddrs(ifaddr);
|
||||
diff --git a/psutil/_psutil_sunos.c b/psutil/_psutil_sunos.c
|
||||
index c667364..ff635f6 100644
|
||||
--- a/psutil/_psutil_sunos.c
|
||||
+++ b/psutil/_psutil_sunos.c
|
||||
@@ -214,8 +214,8 @@ psutil_proc_environ(PyObject *self, PyObject *args) {
|
||||
if (PyDict_SetItem(py_retdict, py_envname, py_envval) < 0)
|
||||
goto error;
|
||||
|
||||
- Py_DECREF(py_envname);
|
||||
- Py_DECREF(py_envval);
|
||||
+ Py_CLEAR(py_envname);
|
||||
+ Py_CLEAR(py_envval);
|
||||
}
|
||||
|
||||
psutil_free_cstrings_array(env, env_count);
|
||||
@@ -576,10 +576,10 @@ psutil_users(PyObject *self, PyObject *args) {
|
||||
goto error;
|
||||
if (PyList_Append(py_retlist, py_tuple))
|
||||
goto error;
|
||||
- Py_DECREF(py_username);
|
||||
- Py_DECREF(py_tty);
|
||||
- Py_DECREF(py_hostname);
|
||||
- Py_DECREF(py_tuple);
|
||||
+ Py_CLEAR(py_username);
|
||||
+ Py_CLEAR(py_tty);
|
||||
+ Py_CLEAR(py_hostname);
|
||||
+ Py_CLEAR(py_tuple);
|
||||
}
|
||||
endutxent();
|
||||
|
||||
@@ -635,9 +635,9 @@ psutil_disk_partitions(PyObject *self, PyObject *args) {
|
||||
goto error;
|
||||
if (PyList_Append(py_retlist, py_tuple))
|
||||
goto error;
|
||||
- Py_DECREF(py_dev);
|
||||
- Py_DECREF(py_mountp);
|
||||
- Py_DECREF(py_tuple);
|
||||
+ Py_CLEAR(py_dev);
|
||||
+ Py_CLEAR(py_mountp);
|
||||
+ Py_CLEAR(py_tuple);
|
||||
}
|
||||
fclose(file);
|
||||
return py_retlist;
|
||||
@@ -688,8 +688,7 @@ psutil_per_cpu_times(PyObject *self, PyObject *args) {
|
||||
goto error;
|
||||
if (PyList_Append(py_retlist, py_cputime))
|
||||
goto error;
|
||||
- Py_DECREF(py_cputime);
|
||||
- py_cputime = NULL;
|
||||
+ Py_CLEAR(py_cputime);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -745,7 +744,7 @@ psutil_disk_io_counters(PyObject *self, PyObject *args) {
|
||||
if (PyDict_SetItemString(py_retdict, ksp->ks_name,
|
||||
py_disk_info))
|
||||
goto error;
|
||||
- Py_DECREF(py_disk_info);
|
||||
+ Py_CLEAR(py_disk_info);
|
||||
}
|
||||
}
|
||||
ksp = ksp->ks_next;
|
||||
@@ -880,8 +879,8 @@ psutil_proc_memory_maps(PyObject *self, PyObject *args) {
|
||||
goto error;
|
||||
if (PyList_Append(py_retlist, py_tuple))
|
||||
goto error;
|
||||
- Py_DECREF(py_path);
|
||||
- Py_DECREF(py_tuple);
|
||||
+ Py_CLEAR(py_path);
|
||||
+ Py_CLEAR(py_tuple);
|
||||
|
||||
// increment pointer
|
||||
p += 1;
|
||||
@@ -996,7 +995,7 @@ psutil_net_io_counters(PyObject *self, PyObject *args) {
|
||||
goto error;
|
||||
if (PyDict_SetItemString(py_retdict, ksp->ks_name, py_ifc_info))
|
||||
goto error;
|
||||
- Py_DECREF(py_ifc_info);
|
||||
+ Py_CLEAR(py_ifc_info);
|
||||
goto next;
|
||||
|
||||
next:
|
||||
@@ -1189,7 +1188,7 @@ psutil_net_connections(PyObject *self, PyObject *args) {
|
||||
goto error;
|
||||
if (PyList_Append(py_retlist, py_tuple))
|
||||
goto error;
|
||||
- Py_DECREF(py_tuple);
|
||||
+ Py_CLEAR(py_tuple);
|
||||
}
|
||||
}
|
||||
#if defined(AF_INET6)
|
||||
@@ -1232,7 +1231,7 @@ psutil_net_connections(PyObject *self, PyObject *args) {
|
||||
goto error;
|
||||
if (PyList_Append(py_retlist, py_tuple))
|
||||
goto error;
|
||||
- Py_DECREF(py_tuple);
|
||||
+ Py_CLEAR(py_tuple);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
@@ -1240,7 +1239,7 @@ psutil_net_connections(PyObject *self, PyObject *args) {
|
||||
else if (mibhdr->level == MIB2_UDP || mibhdr->level == MIB2_UDP_ENTRY) {
|
||||
ude = (mib2_udpEntry_t *)databuf.buf;
|
||||
num_ent = mibhdr->len / sizeof(mib2_udpEntry_t);
|
||||
- assert(num_ent * sizeof(mib2_udpEntry_t) == mibhdr->len);
|
||||
+ assert(num_ent * sizeof(mib2_udpEntry_t) == mibhdr.len);
|
||||
for (i = 0; i < num_ent; i++, ude++) {
|
||||
#ifdef NEW_MIB_COMPLIANT
|
||||
processed_pid = ude->udpCreationProcess;
|
||||
@@ -1271,7 +1270,7 @@ psutil_net_connections(PyObject *self, PyObject *args) {
|
||||
goto error;
|
||||
if (PyList_Append(py_retlist, py_tuple))
|
||||
goto error;
|
||||
- Py_DECREF(py_tuple);
|
||||
+ Py_CLEAR(py_tuple);
|
||||
}
|
||||
}
|
||||
#if defined(AF_INET6)
|
||||
@@ -1304,7 +1303,7 @@ psutil_net_connections(PyObject *self, PyObject *args) {
|
||||
goto error;
|
||||
if (PyList_Append(py_retlist, py_tuple))
|
||||
goto error;
|
||||
- Py_DECREF(py_tuple);
|
||||
+ Py_CLEAR(py_tuple);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
@@ -1477,7 +1476,7 @@ psutil_net_if_stats(PyObject* self, PyObject* args) {
|
||||
goto error;
|
||||
if (PyDict_SetItemString(py_retdict, ksp->ks_name, py_ifc_info))
|
||||
goto error;
|
||||
- Py_DECREF(py_ifc_info);
|
||||
+ Py_CLEAR(py_ifc_info);
|
||||
}
|
||||
}
|
||||
|
||||
diff --git a/psutil/_psutil_windows.c b/psutil/_psutil_windows.c
|
||||
index 81d1b4a..adef70c 100644
|
||||
--- a/psutil/_psutil_windows.c
|
||||
+++ b/psutil/_psutil_windows.c
|
||||
@@ -307,7 +307,7 @@ psutil_pids(PyObject *self, PyObject *args) {
|
||||
goto error;
|
||||
if (PyList_Append(py_retlist, py_pid))
|
||||
goto error;
|
||||
- Py_DECREF(py_pid);
|
||||
+ Py_CLEAR(py_pid);
|
||||
}
|
||||
|
||||
// free C array allocated for PIDs
|
||||
@@ -1019,7 +1019,7 @@ psutil_per_cpu_times(PyObject *self, PyObject *args) {
|
||||
goto error;
|
||||
if (PyList_Append(py_retlist, py_tuple))
|
||||
goto error;
|
||||
- Py_DECREF(py_tuple);
|
||||
+ Py_CLEAR(py_tuple);
|
||||
}
|
||||
|
||||
free(sppi);
|
||||
@@ -1237,7 +1237,7 @@ psutil_proc_threads(PyObject *self, PyObject *args) {
|
||||
goto error;
|
||||
if (PyList_Append(py_retlist, py_tuple))
|
||||
goto error;
|
||||
- Py_DECREF(py_tuple);
|
||||
+ Py_CLEAR(py_tuple);
|
||||
|
||||
CloseHandle(hThread);
|
||||
}
|
||||
@@ -1695,7 +1695,7 @@ psutil_net_connections(PyObject *self, PyObject *args) {
|
||||
goto error;
|
||||
if (PyList_Append(py_retlist, py_conn_tuple))
|
||||
goto error;
|
||||
- Py_DECREF(py_conn_tuple);
|
||||
+ Py_CLEAR(py_conn_tuple);
|
||||
}
|
||||
}
|
||||
else {
|
||||
@@ -1792,7 +1792,7 @@ psutil_net_connections(PyObject *self, PyObject *args) {
|
||||
goto error;
|
||||
if (PyList_Append(py_retlist, py_conn_tuple))
|
||||
goto error;
|
||||
- Py_DECREF(py_conn_tuple);
|
||||
+ Py_CLEAR(py_conn_tuple);
|
||||
}
|
||||
}
|
||||
else {
|
||||
@@ -1866,7 +1866,7 @@ psutil_net_connections(PyObject *self, PyObject *args) {
|
||||
goto error;
|
||||
if (PyList_Append(py_retlist, py_conn_tuple))
|
||||
goto error;
|
||||
- Py_DECREF(py_conn_tuple);
|
||||
+ Py_CLEAR(py_conn_tuple);
|
||||
}
|
||||
}
|
||||
else {
|
||||
@@ -1939,7 +1939,7 @@ psutil_net_connections(PyObject *self, PyObject *args) {
|
||||
goto error;
|
||||
if (PyList_Append(py_retlist, py_conn_tuple))
|
||||
goto error;
|
||||
- Py_DECREF(py_conn_tuple);
|
||||
+ Py_CLEAR(py_conn_tuple);
|
||||
}
|
||||
}
|
||||
else {
|
||||
@@ -2331,8 +2331,8 @@ psutil_net_io_counters(PyObject *self, PyObject *args) {
|
||||
goto error;
|
||||
if (PyDict_SetItem(py_retdict, py_nic_name, py_nic_info))
|
||||
goto error;
|
||||
- Py_XDECREF(py_nic_name);
|
||||
- Py_XDECREF(py_nic_info);
|
||||
+ Py_CLEAR(py_nic_name);
|
||||
+ Py_CLEAR(py_nic_info);
|
||||
|
||||
free(pIfRow);
|
||||
pCurrAddresses = pCurrAddresses->Next;
|
||||
@@ -2446,7 +2446,7 @@ psutil_disk_io_counters(PyObject *self, PyObject *args) {
|
||||
goto error;
|
||||
if (PyDict_SetItemString(py_retdict, szDeviceDisplay, py_tuple))
|
||||
goto error;
|
||||
- Py_XDECREF(py_tuple);
|
||||
+ Py_CLEAR(py_tuple);
|
||||
|
||||
next:
|
||||
CloseHandle(hDevice);
|
||||
@@ -2603,7 +2603,7 @@ psutil_disk_partitions(PyObject *self, PyObject *args) {
|
||||
goto error;
|
||||
}
|
||||
|
||||
- Py_DECREF(py_tuple);
|
||||
+ Py_CLEAR(py_tuple);
|
||||
|
||||
// Continue looking for more mount points
|
||||
mp_flag = FindNextVolumeMountPoint(mp_h, mp_buf, MAX_PATH);
|
||||
@@ -2628,7 +2628,7 @@ psutil_disk_partitions(PyObject *self, PyObject *args) {
|
||||
goto error;
|
||||
if (PyList_Append(py_retlist, py_tuple))
|
||||
goto error;
|
||||
- Py_DECREF(py_tuple);
|
||||
+ Py_CLEAR(py_tuple);
|
||||
goto next;
|
||||
|
||||
next:
|
||||
@@ -2758,9 +2758,9 @@ psutil_users(PyObject *self, PyObject *args) {
|
||||
goto error;
|
||||
if (PyList_Append(py_retlist, py_tuple))
|
||||
goto error;
|
||||
- Py_XDECREF(py_username);
|
||||
- Py_XDECREF(py_address);
|
||||
- Py_XDECREF(py_tuple);
|
||||
+ Py_CLEAR(py_username);
|
||||
+ Py_CLEAR(py_address);
|
||||
+ Py_CLEAR(py_tuple);
|
||||
}
|
||||
|
||||
WTSFreeMemory(sessions);
|
||||
@@ -2992,8 +2992,8 @@ psutil_proc_memory_maps(PyObject *self, PyObject *args) {
|
||||
goto error;
|
||||
if (PyList_Append(py_retlist, py_tuple))
|
||||
goto error;
|
||||
- Py_DECREF(py_tuple);
|
||||
- Py_DECREF(py_str);
|
||||
+ Py_CLEAR(py_tuple);
|
||||
+ Py_CLEAR(py_str);
|
||||
}
|
||||
previousAllocationBase = basicInfo.AllocationBase;
|
||||
baseAddress = (PCHAR)baseAddress + basicInfo.RegionSize;
|
||||
@@ -3043,8 +3043,8 @@ psutil_ppid_map(PyObject *self, PyObject *args) {
|
||||
goto error;
|
||||
if (PyDict_SetItem(py_retdict, py_pid, py_ppid))
|
||||
goto error;
|
||||
- Py_DECREF(py_pid);
|
||||
- Py_DECREF(py_ppid);
|
||||
+ Py_CLEAR(py_pid);
|
||||
+ Py_CLEAR(py_ppid);
|
||||
} while (Process32Next(handle, &pe));
|
||||
}
|
||||
|
||||
@@ -3147,8 +3147,8 @@ psutil_net_if_addrs(PyObject *self, PyObject *args) {
|
||||
goto error;
|
||||
if (PyList_Append(py_retlist, py_tuple))
|
||||
goto error;
|
||||
- Py_DECREF(py_tuple);
|
||||
- Py_DECREF(py_mac_address);
|
||||
+ Py_CLEAR(py_tuple);
|
||||
+ Py_CLEAR(py_mac_address);
|
||||
}
|
||||
|
||||
// find out the IP address associated with the NIC
|
||||
@@ -3224,14 +3224,14 @@ psutil_net_if_addrs(PyObject *self, PyObject *args) {
|
||||
goto error;
|
||||
if (PyList_Append(py_retlist, py_tuple))
|
||||
goto error;
|
||||
- Py_DECREF(py_tuple);
|
||||
- Py_DECREF(py_address);
|
||||
- Py_DECREF(py_netmask);
|
||||
+ Py_CLEAR(py_tuple);
|
||||
+ Py_CLEAR(py_address);
|
||||
+ Py_CLEAR(py_netmask);
|
||||
|
||||
pUnicast = pUnicast->Next;
|
||||
}
|
||||
}
|
||||
- Py_DECREF(py_nic_name);
|
||||
+ Py_CLEAR(py_nic_name);
|
||||
pCurrAddresses = pCurrAddresses->Next;
|
||||
}
|
||||
|
||||
@@ -3351,8 +3351,8 @@ psutil_net_if_stats(PyObject *self, PyObject *args) {
|
||||
goto error;
|
||||
if (PyDict_SetItem(py_retdict, py_nic_name, py_ifc_info))
|
||||
goto error;
|
||||
- Py_DECREF(py_nic_name);
|
||||
- Py_DECREF(py_ifc_info);
|
||||
+ Py_CLEAR(py_nic_name);
|
||||
+ Py_CLEAR(py_ifc_info);
|
||||
}
|
||||
|
||||
free(pIfTable);
|
322
SPECS/python-psutil.spec
Normal file
322
SPECS/python-psutil.spec
Normal file
@ -0,0 +1,322 @@
|
||||
%global srcname psutil
|
||||
%global sum A process and system utilities module for Python
|
||||
|
||||
%if 0%{?rhel} > 7
|
||||
# Disable python2 build by default
|
||||
%bcond_with python2
|
||||
%else
|
||||
%bcond_without python2
|
||||
%endif
|
||||
|
||||
# Filter Python modules from Provides
|
||||
%global __provides_exclude_from ^(%{python2_sitearch}|%{python3_sitearch})/.*\\.so$
|
||||
|
||||
Name: python-%{srcname}
|
||||
Version: 5.4.3
|
||||
Release: 11%{?dist}
|
||||
Summary: %{sum}
|
||||
|
||||
License: BSD
|
||||
URL: https://github.com/giampaolo/psutil
|
||||
Source0: https://github.com/giampaolo/psutil/archive/release-%{version}.tar.gz#/%{srcname}-%{version}.tar.gz
|
||||
|
||||
# Fix CVE-2019-18874: double free because of refcount mishandling
|
||||
# Resolved upstream: https://github.com/giampaolo/psutil/commit/7d512c8e4442a896d56505be3e78f1156f443465
|
||||
# and https://github.com/giampaolo/psutil/commit/3a9bccfd2c6d2e6538298cd3892058b1204056e0
|
||||
Patch0: CVE-2019-18874.patch
|
||||
|
||||
BuildRequires: procps-ng
|
||||
|
||||
%description
|
||||
psutil is a module providing an interface for retrieving information on all
|
||||
running processes and system utilization (CPU, memory, disks, network, users) in
|
||||
a portable way by using Python, implementing many functionalities offered by
|
||||
command line tools such as: ps, top, df, kill, free, lsof, free, netstat,
|
||||
ifconfig, nice, ionice, iostat, iotop, uptime, pidof, tty, who, taskset, pmap.
|
||||
|
||||
|
||||
%if %{with python2}
|
||||
%package -n python2-%{srcname}
|
||||
Summary: %{sum}
|
||||
|
||||
BuildRequires: python2-devel
|
||||
BuildRequires: python2-mock
|
||||
BuildRequires: python2-ipaddress
|
||||
|
||||
%{?python_provide:%python_provide python2-%{srcname}}
|
||||
Obsoletes: python-%{srcname} < 3.1.1-3
|
||||
|
||||
%description -n python2-psutil
|
||||
psutil is a module providing an interface for retrieving information on all
|
||||
running processes and system utilization (CPU, memory, disks, network, users) in
|
||||
a portable way by using Python 3, implementing many functionalities offered by
|
||||
command line tools such as: ps, top, df, kill, free, lsof, free, netstat,
|
||||
ifconfig, nice, ionice, iostat, iotop, uptime, pidof, tty, who, taskset, pmap.
|
||||
%endif # with python2
|
||||
|
||||
%package -n python%{python3_pkgversion}-psutil
|
||||
Summary: %{sum}
|
||||
|
||||
BuildRequires: python%{python3_pkgversion}-devel
|
||||
BuildRequires: python%{python3_pkgversion}-mock
|
||||
|
||||
%{?python_provide:%python_provide python%{python3_pkgversion}-%{srcname}}
|
||||
|
||||
%description -n python%{python3_pkgversion}-psutil
|
||||
psutil is a module providing an interface for retrieving information on all
|
||||
running processes and system utilization (CPU, memory, disks, network, users) in
|
||||
a portable way by using Python 3, implementing many functionalities offered by
|
||||
command line tools such as: ps, top, df, kill, free, lsof, free, netstat,
|
||||
ifconfig, nice, ionice, iostat, iotop, uptime, pidof, tty, who, taskset, pmap.
|
||||
|
||||
|
||||
%prep
|
||||
%autosetup -p1 -n %{srcname}-release-%{version}
|
||||
|
||||
# Remove shebangs
|
||||
find psutil -name \*.py | while read file; do
|
||||
sed -i.orig -e '1{/^#!/d}' $file && \
|
||||
touch -r $file.orig $file && \
|
||||
rm $file.orig
|
||||
done
|
||||
|
||||
|
||||
%build
|
||||
%if %{with python2}
|
||||
%py2_build
|
||||
%endif # with python2
|
||||
%py3_build
|
||||
|
||||
|
||||
%install
|
||||
%if %{with python2}
|
||||
%py2_install
|
||||
%endif # with python2
|
||||
%py3_install
|
||||
|
||||
|
||||
#%check
|
||||
# the main test target causes failures, investigating
|
||||
%if %{with python2}
|
||||
#make test-memleaks PYTHON=%{__python2}
|
||||
%endif # with python2
|
||||
#make test-memleaks PYTHON=%{__python3}
|
||||
|
||||
%if %{with python2}
|
||||
%files -n python2-%{srcname}
|
||||
%license LICENSE
|
||||
%doc CREDITS HISTORY.rst README.rst
|
||||
%{python2_sitearch}/%{srcname}/
|
||||
%{python2_sitearch}/*.egg-info
|
||||
%endif # with python2
|
||||
|
||||
|
||||
%files -n python%{python3_pkgversion}-%{srcname}
|
||||
%license LICENSE
|
||||
%doc CREDITS HISTORY.rst README.rst
|
||||
%{python3_sitearch}/%{srcname}/
|
||||
%{python3_sitearch}/*.egg-info
|
||||
|
||||
|
||||
%changelog
|
||||
* Mon Jul 26 2021 Charalampos Stratakis <cstratak@redhat.com> - 5.4.3-11
|
||||
- Security fix for CVE-2019-18874: double free because of refcount mishandling
|
||||
Resolves: rhbz#1772014
|
||||
|
||||
* Mon Aug 05 2019 Athos Ribeiro <athos@redhat.com> - 5.4.3-10
|
||||
- Smoke tests shall only run unicode tests
|
||||
|
||||
* Mon Aug 05 2019 Athos Ribeiro <athos@redhat.com> - 5.4.3-9
|
||||
- Skip failing tests
|
||||
|
||||
* Mon Aug 05 2019 Athos Ribeiro <athos@redhat.com> - 5.4.3-8
|
||||
- Add test content
|
||||
|
||||
* Mon Aug 05 2019 Athos Ribeiro <athos@redhat.com> - 5.4.3-7
|
||||
- Bump release
|
||||
- Rebuild for rhel 8 gating for rhbz#1720647
|
||||
|
||||
* Tue Jun 18 2019 Athos Ribeiro <athos@redhat.com> - 5.4.3-6
|
||||
- Bump release
|
||||
|
||||
* Tue Jun 05 2018 Charalampos Stratakis <cstratak@redhat.com> - 5.4.3-5
|
||||
- Conditionalize the python2 subpackage
|
||||
|
||||
* Fri Feb 09 2018 Fedora Release Engineering <releng@fedoraproject.org> - 5.4.3-4
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
|
||||
|
||||
* Mon Jan 29 2018 Iryna Shcherbina <ishcherb@redhat.com> - 5.4.3-3
|
||||
- Update Python 2 dependency declarations to new packaging standards
|
||||
(See https://fedoraproject.org/wiki/FinalizingFedoraSwitchtoPython3)
|
||||
|
||||
* Mon Jan 22 2018 Gwyn Ciesla <limburgher@gmail.com> - 5.4.3-2
|
||||
- Disable tests entirely.
|
||||
|
||||
* Mon Jan 22 2018 Gwyn Ciesla <limburgher@gmail.com> - 5.4.3-1
|
||||
- 5.4.3
|
||||
|
||||
* Thu Aug 03 2017 Fedora Release Engineering <releng@fedoraproject.org> - 5.2.2-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
|
||||
|
||||
* Thu Jul 27 2017 Fedora Release Engineering <releng@fedoraproject.org> - 5.2.2-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
|
||||
|
||||
* Sun Apr 23 2017 Kevin Fenzi <kevin@scrye.com> - 5.2.2-1
|
||||
- Update to 5.2.2. Fixes bug #1441010
|
||||
|
||||
* Sat Mar 25 2017 Kevin Fenzi <kevin@scrye.com> - 5.2.1-1
|
||||
- Update to 5.2.1. Fixes bug #1418489
|
||||
|
||||
* Sat Feb 25 2017 Kevin Fenzi <kevin@scrye.com> - 5.1.3-1
|
||||
- Update to 5.1.3. Fixes bug #1418489
|
||||
|
||||
* Sat Feb 11 2017 Fedora Release Engineering <releng@fedoraproject.org> - 5.0.1-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
|
||||
|
||||
* Mon Jan 02 2017 Kevin Fenzi <kevin@scrye.com> - 5.0.1-1
|
||||
- Update to 5.0.1. Fixes bug #1389579
|
||||
- Disable failing test while upstream looks at it.
|
||||
|
||||
* Wed Nov 09 2016 Kevin Fenzi <kevin@scrye.com> - 5.0.0-1
|
||||
- Update to 5.0.0. Fixes bug #1389579
|
||||
|
||||
* Tue Oct 25 2016 Kevin Fenzi <kevin@scrye.com> - 4.4.0-1
|
||||
- Update to 4.4.0. Fixes bug #1387942
|
||||
|
||||
* Sat Sep 03 2016 Kevin Fenzi <kevin@scrye.com> - 4.3.1-1
|
||||
- Update to 4.3.1. Fixes bug #1372500
|
||||
|
||||
* Tue Jul 19 2016 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 4.3.0-2
|
||||
- https://fedoraproject.org/wiki/Changes/Automatic_Provides_for_Python_RPM_Packages
|
||||
|
||||
* Tue Jun 21 2016 Orion Poplawski <orion@cora.nwra.com> - 4.3.0-1
|
||||
- Update to 4.3.0
|
||||
|
||||
* Mon May 16 2016 Orion Poplawski <orion@cora.nwra.com> - 3.2.1-6
|
||||
- Use modern provides filter
|
||||
- Update URL
|
||||
- Use %%python3_pkgversion for EPEL7 compat
|
||||
|
||||
* Fri Mar 11 2016 Than Ngo <than@redhat.com> - 3.2.1-5
|
||||
- fix endian issue on s390x/ppc64
|
||||
|
||||
* Thu Feb 04 2016 Fedora Release Engineering <releng@fedoraproject.org> - 3.2.1-4
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
|
||||
|
||||
* Tue Nov 10 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.2.1-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Changes/python3.5
|
||||
|
||||
* Fri Sep 4 2015 Michel Alexandre Salim <salimma@fedoraproject.org> - 3.2.1-2
|
||||
- Add Obsoletes for old package
|
||||
|
||||
* Fri Sep 4 2015 Michel Alexandre Salim <salimma@fedoraproject.org> - 3.2.1-1
|
||||
- Update to 3.2.1
|
||||
- Update to latest Python guidelines (https://fedorahosted.org/fpc/ticket/281)
|
||||
|
||||
* Wed Jul 22 2015 Michel Alexandre Salim <salimma@fedoraproject.org> - 3.1.1-2
|
||||
- Restore *.so files
|
||||
- Enable tests
|
||||
|
||||
* Tue Jul 21 2015 Michel Alexandre Salim <salimma@fedoraproject.org> - 3.1.1-1
|
||||
- Update to 3.1.1
|
||||
|
||||
* Thu Jun 18 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.2.0-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
|
||||
|
||||
* Wed Feb 18 2015 Ralph Bean <rbean@redhat.com> - 2.2.0-1
|
||||
- new version
|
||||
|
||||
* Wed Dec 3 2014 Michel Alexandre Salim <salimma@fedoraproject.org> - 2.1.3-1
|
||||
- Update to 2.1.3
|
||||
|
||||
* Sun Aug 17 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.2.1-5
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
|
||||
|
||||
* Thu Jul 31 2014 Tom Callaway <spot@fedoraproject.org> - 1.2.1-4
|
||||
- fix license handling
|
||||
|
||||
* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.2.1-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
|
||||
|
||||
* Wed May 28 2014 Kalev Lember <kalevlember@gmail.com> - 1.2.1-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Changes/Python_3.4
|
||||
|
||||
* Mon Jan 06 2014 Mohamed El Morabity <melmorabity@fedoraproject.org> - 1.2.1-1
|
||||
- Update to 1.2.1
|
||||
|
||||
* Fri Aug 16 2013 Mohamed El Morabity <melmorabity@fedoraproject.org> - 1.0.1-1
|
||||
- Update to 1.0.1
|
||||
|
||||
* Sun Aug 04 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.7.1-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
|
||||
|
||||
* Sun May 12 2013 Mohamed El Morabity <melmorabity@fedoraproject.org> - 0.7.1-1
|
||||
- Update to 0.7.1
|
||||
|
||||
* Thu Feb 14 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.6.1-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
|
||||
|
||||
* Sun Aug 19 2012 Mohamed El Morabity <melmorabity@fedorapeople.org> - 0.6.1-1
|
||||
- Update to 0.6.1
|
||||
|
||||
* Sat Aug 04 2012 David Malcolm <dmalcolm@redhat.com> - 0.5.1-3
|
||||
- rebuild for https://fedoraproject.org/wiki/Features/Python_3.3
|
||||
|
||||
* Sat Jul 21 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.5.1-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
|
||||
|
||||
* Sun Jul 01 2012 Mohamed El Morabity <melmorabity@fedoraproject.org> - 0.5.1-1
|
||||
- Update to 0.5.1
|
||||
|
||||
* Sat Jan 14 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.4.1-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
|
||||
|
||||
* Fri Dec 16 2011 Mohamed El Morabity <melmorabity@fedoraproject.org> - 0.4.1-1
|
||||
- Update to 0.4.1
|
||||
|
||||
* Sun Nov 20 2011 Mohamed El Morabity <melmorabity@fedoraproject.org> - 0.4.0-1
|
||||
- Update to 0.4.0
|
||||
|
||||
* Mon Jul 18 2011 Mohamed El Morabity <melmorabity@fedoraproject.org> - 0.3.0-1
|
||||
- Update to 0.3.0
|
||||
|
||||
* Wed Mar 23 2011 Mohamed El Morabity <melmorabity@fedoraproject.org> - 0.2.1-1
|
||||
- Update to 0.2.1
|
||||
- Spec cleanup
|
||||
|
||||
* Tue Feb 08 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.2.0-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
|
||||
|
||||
* Mon Nov 22 2010 Mohamed El Morabity <melmorabity@fedoraproject.org> - 0.2.0-1
|
||||
- Update to 0.2.0
|
||||
|
||||
* Wed Aug 25 2010 Thomas Spura <tomspur@fedoraproject.org> - 0.1.3-5
|
||||
- rebuild with python3.2
|
||||
http://lists.fedoraproject.org/pipermail/devel/2010-August/141368.html
|
||||
|
||||
* Fri Jul 30 2010 Thomas Spura <tomspur@fedoraproject.org> - 0.1.3-4
|
||||
- bump, because previous build nvr already existed in F-14
|
||||
|
||||
* Thu Jul 22 2010 David Malcolm <dmalcolm@redhat.com> - 0.1.3-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Features/Python_2.7/MassRebuild
|
||||
|
||||
* Tue Apr 13 2010 ELMORABITY Mohamed <melmorabity@fedoraproject.org> 0.1.3-2
|
||||
- Add missing popd in %%build
|
||||
|
||||
* Sat Mar 27 2010 ELMORABITY Mohamed <melmorabity@fedoraproject.org> 0.1.3-1
|
||||
- Update to 0.1.3
|
||||
- Remove useless call to 2to3 and corresponding BuildRequires
|
||||
python2-tools (this version supports Python 3)
|
||||
|
||||
* Sat Feb 20 2010 ELMORABITY Mohamed <melmorabity@fedoraproject.org> 0.1.2-4
|
||||
- Change python-utils BuildRequires for python2-utils
|
||||
|
||||
* Sat Feb 20 2010 ELMORABITY Mohamed <melmorabity@fedoraproject.org> 0.1.2-3
|
||||
- Add python3 subpackage
|
||||
|
||||
* Thu Jan 14 2010 ELMORABITY Mohamed <melmorabity@fedoraproject.org> 0.1.2-2
|
||||
- Drop no-shebang patch for a sed command
|
||||
- Drop test suite from %%doc tag
|
||||
|
||||
* Fri Jan 8 2010 ELMORABITY Mohamed <melmorabity@fedoraproject.org> 0.1.2-1
|
||||
- Initial RPM release
|
Loading…
Reference in New Issue
Block a user