diff -Nru python-ethtool-0.12/debian/changelog python-ethtool-0.12/debian/changelog --- python-ethtool-0.12/debian/changelog 2016-09-24 13:34:09.000000000 +0000 +++ python-ethtool-0.12/debian/changelog 2017-03-18 15:47:04.000000000 +0000 @@ -1,3 +1,15 @@ +python-ethtool (0.12-1.1) unstable; urgency=medium + + * Non-maintainer upload. + + [ Evgeni Golov ] + * update Homage in d/control + + [ Reiner Herrmann ] + * Fix argument parsing in C library (Closes: #857346) + + -- Evgeni Golov Sat, 18 Mar 2017 16:47:04 +0100 + python-ethtool (0.12-1) unstable; urgency=medium * [ea5192b] Fix some other gcc5 warnings. diff -Nru python-ethtool-0.12/debian/control python-ethtool-0.12/debian/control --- python-ethtool-0.12/debian/control 2016-09-24 13:34:09.000000000 +0000 +++ python-ethtool-0.12/debian/control 2017-03-17 15:34:53.000000000 +0000 @@ -5,7 +5,7 @@ Maintainer: Bernd Zeimetz Build-Depends: debhelper (>= 7.0.50~), python-all-dev (>= 2.6.6-3~), libnl-route-3-dev, asciidoc, pkg-config, libxml2-utils, docbook-xml, xsltproc, sgml-data, libxml2, docbook-xsl, docbook-xml Standards-Version: 3.9.3 -Homepage: http://fedorapeople.org/gitweb?p=dsommers/public_git/python-ethtool.git;a=summary +Homepage: https://fedorapeople.org/cgit/dsommers/public_git/python-ethtool.git/ Vcs-Browser: http://anonscm.debian.org/gitweb/?p=collab-maint/spacewalk/python-ethtool.git Vcs-Git: git://anonscm.debian.org/collab-maint/spacewalk/python-ethtool.git diff -Nru python-ethtool-0.12/debian/patches/fix_argument_parsing python-ethtool-0.12/debian/patches/fix_argument_parsing --- python-ethtool-0.12/debian/patches/fix_argument_parsing 1970-01-01 00:00:00.000000000 +0000 +++ python-ethtool-0.12/debian/patches/fix_argument_parsing 2017-03-17 15:37:38.000000000 +0000 @@ -0,0 +1,111 @@ +Author: Reiner Herrmann +Description: Fix argument parsing of device names + PyArg_ParseTuple was called with the format string "s*" to parse the + passed device name into a C string. + But according to Python C-API documentation, "s*" is used for parsing data + into a Py_buffer structure: https://docs.python.org/2/c-api/arg.html + To store it into a C string, "s" has to be used. + (Memory doesn't need to be freed, as it is managed by Python.) +Bug-Debian: https://bugs.debian.org/857346 + +--- a/python-ethtool/ethtool.c ++++ b/python-ethtool/ethtool.c +@@ -121,7 +121,7 @@ + const char *devname; + char hwaddr[20]; + +- if (!PyArg_ParseTuple(args, "s*", &devname)) ++ if (!PyArg_ParseTuple(args, "s", &devname)) + return NULL; + + /* Setup our request structure. */ +@@ -163,7 +163,7 @@ + const char *devname; + char ipaddr[20]; + +- if (!PyArg_ParseTuple(args, "s*", &devname)) ++ if (!PyArg_ParseTuple(args, "s", &devname)) + return NULL; + + /* Setup our request structure. */ +@@ -295,7 +295,7 @@ + const char *devname; + int fd, err; + +- if (!PyArg_ParseTuple(args, "s*", &devname)) ++ if (!PyArg_ParseTuple(args, "s", &devname)) + return NULL; + + /* Setup our request structure. */ +@@ -328,7 +328,7 @@ + const char *devname; + char netmask[20]; + +- if (!PyArg_ParseTuple(args, "s*", &devname)) ++ if (!PyArg_ParseTuple(args, "s", &devname)) + return NULL; + + /* Setup our request structure. */ +@@ -368,7 +368,7 @@ + const char *devname; + char broadcast[20]; + +- if (!PyArg_ParseTuple(args, "s*", &devname)) ++ if (!PyArg_ParseTuple(args, "s", &devname)) + return NULL; + + /* Setup our request structure. */ +@@ -409,7 +409,7 @@ + char buf[2048]; + const char *devname; + +- if (!PyArg_ParseTuple(args, "s*", &devname)) ++ if (!PyArg_ParseTuple(args, "s", &devname)) + return NULL; + + /* Setup our control structures. */ +@@ -479,7 +479,7 @@ + char buf[1024]; + const char *devname; + +- if (!PyArg_ParseTuple(args, "s*", &devname)) ++ if (!PyArg_ParseTuple(args, "s", &devname)) + return NULL; + + /* Setup our control structures. */ +@@ -545,7 +545,7 @@ + const char *devname; + int err = -1; + +- if (PyArg_ParseTuple(args, "s*", &devname)) ++ if (PyArg_ParseTuple(args, "s", &devname)) + err = send_command(cmd, devname, value); + + return err; +@@ -567,7 +567,7 @@ + struct ethtool_value eval; + const char *devname; + +- if (!PyArg_ParseTuple(args, "s*i", &devname, &eval.data)) ++ if (!PyArg_ParseTuple(args, "si", &devname, &eval.data)) + return -1; + + return send_command(cmd, devname, &eval); +@@ -752,7 +752,7 @@ + const char *devname; + PyObject *dict; + +- if (!PyArg_ParseTuple(args, "s*O", &devname, &dict)) ++ if (!PyArg_ParseTuple(args, "sO", &devname, &dict)) + return NULL; + + if (struct_desc_from_dict(ethtool_coalesce_desc, &coal, dict) != 0) +@@ -792,7 +792,7 @@ + const char *devname; + PyObject *dict; + +- if (!PyArg_ParseTuple(args, "s*O", &devname, &dict)) ++ if (!PyArg_ParseTuple(args, "sO", &devname, &dict)) + return NULL; + + if (struct_desc_from_dict(ethtool_ringparam_desc, &ring, dict) != 0) diff -Nru python-ethtool-0.12/debian/patches/series python-ethtool-0.12/debian/patches/series --- python-ethtool-0.12/debian/patches/series 2016-09-24 13:34:09.000000000 +0000 +++ python-ethtool-0.12/debian/patches/series 2017-03-17 15:37:38.000000000 +0000 @@ -1,2 +1,3 @@ fix_missing_if.h_include gcc5-warning-fixes +fix_argument_parsing