|
|
ff8230 |
From f8b0e05c03add3d0bd7736c3e3f81e8eb28bc7c3 Mon Sep 17 00:00:00 2001
|
|
|
ff8230 |
From: David Sommerseth <davids@redhat.com>
|
|
|
ff8230 |
Date: Fri, 13 Sep 2013 18:54:05 +0200
|
|
|
ff8230 |
Subject: [PATCH] Fix missing error checking when reading /proc/net/dev
|
|
|
ff8230 |
|
|
|
ff8230 |
Signed-off-by: David Sommerseth <davids@redhat.com>
|
|
|
ff8230 |
---
|
|
|
ff8230 |
python-ethtool/ethtool.c | 10 ++++++++--
|
|
|
ff8230 |
1 file changed, 8 insertions(+), 2 deletions(-)
|
|
|
ff8230 |
|
|
|
ff8230 |
diff --git a/python-ethtool/ethtool.c b/python-ethtool/ethtool.c
|
|
|
ff8230 |
index e58d5f9..a471726 100644
|
|
|
ff8230 |
--- a/python-ethtool/ethtool.c
|
|
|
ff8230 |
+++ b/python-ethtool/ethtool.c
|
|
|
ff8230 |
@@ -80,7 +80,7 @@ static PyObject *get_active_devices(PyObject *self __unused, PyObject *args __un
|
|
|
ff8230 |
static PyObject *get_devices(PyObject *self __unused, PyObject *args __unused)
|
|
|
ff8230 |
{
|
|
|
ff8230 |
char buffer[256];
|
|
|
ff8230 |
- char *ret;;
|
|
|
ff8230 |
+ char *ret;
|
|
|
ff8230 |
PyObject *list = PyList_New(0);
|
|
|
ff8230 |
FILE *fd = fopen(_PATH_PROCNET_DEV, "r");
|
|
|
ff8230 |
|
|
|
ff8230 |
@@ -89,7 +89,13 @@ static PyObject *get_devices(PyObject *self __unused, PyObject *args __unused)
|
|
|
ff8230 |
return NULL;
|
|
|
ff8230 |
}
|
|
|
ff8230 |
/* skip over first two lines */
|
|
|
ff8230 |
- ret = fgets(buffer, 256, fd); ret = fgets(buffer, 256, fd);
|
|
|
ff8230 |
+ ret = fgets(buffer, 256, fd);
|
|
|
ff8230 |
+ ret = fgets(buffer, 256, fd);
|
|
|
ff8230 |
+ if( !ret ) {
|
|
|
ff8230 |
+ PyErr_SetString(PyExc_OSError, strerror(errno));
|
|
|
ff8230 |
+ return NULL;
|
|
|
ff8230 |
+ }
|
|
|
ff8230 |
+
|
|
|
ff8230 |
while (!feof(fd)) {
|
|
|
ff8230 |
PyObject *str;
|
|
|
ff8230 |
char *name = buffer;
|