]> granicus.if.org Git - python/commitdiff
Merged revisions 66693 via svnmerge from
authorBenjamin Peterson <benjamin@python.org>
Tue, 30 Sep 2008 02:18:09 +0000 (02:18 +0000)
committerBenjamin Peterson <benjamin@python.org>
Tue, 30 Sep 2008 02:18:09 +0000 (02:18 +0000)
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r66693 | benjamin.peterson | 2008-09-29 21:11:07 -0500 (Mon, 29 Sep 2008) | 4 lines

  Victor Stinner's patches to check the return result of PyLong_Ssize_t

  reviewed by Amaury
........

Modules/_bytesio.c
Modules/_struct.c

index d7d2667a3647f35c9f8e4aa513b21d9f743e099d..48fe50a09411ca5ec7205177e1a53a9a1ec1f506 100644 (file)
@@ -221,6 +221,8 @@ bytesio_read(BytesIOObject *self, PyObject *args)
 
     if (PyLong_Check(arg)) {
         size = PyLong_AsSsize_t(arg);
+        if (size == -1 && PyErr_Occurred())
+            return NULL;
     }
     else if (arg == Py_None) {
         /* Read until EOF is reached, by default. */
@@ -288,6 +290,8 @@ bytesio_readline(BytesIOObject *self, PyObject *args)
 
     if (PyLong_Check(arg)) {
         size = PyLong_AsSsize_t(arg);
+        if (size == -1 && PyErr_Occurred())
+            return NULL;
     }
     else if (arg == Py_None) {
         /* No size limit, by default. */
@@ -332,6 +336,8 @@ bytesio_readlines(BytesIOObject *self, PyObject *args)
 
     if (PyLong_Check(arg)) {
         maxsize = PyLong_AsSsize_t(arg);
+        if (maxsize == -1 && PyErr_Occurred())
+            return NULL;
     }
     else if (arg == Py_None) {
         /* No size limit, by default. */
@@ -415,6 +421,8 @@ bytesio_truncate(BytesIOObject *self, PyObject *args)
 
     if (PyLong_Check(arg)) {
         size = PyLong_AsSsize_t(arg);
+        if (size == -1 && PyErr_Occurred())
+            return NULL;
     }
     else if (arg == Py_None) {
         /* Truncate to current position if no argument is passed. */
index 4a257c0097036c10c7162bde81808f6b114d3de6..ac70f43e640ce656d7d46ceb4313b0e7b78959e9 100644 (file)
@@ -1786,6 +1786,8 @@ s_pack_into(PyObject *self, PyObject *args)
 
        /* Extract the offset from the first argument */
        offset = PyLong_AsSsize_t(PyTuple_GET_ITEM(args, 1));
+       if (offset == -1 && PyErr_Occurred())
+               return NULL;
 
        /* Support negative offsets. */
        if (offset < 0)