From da9c5b35a3ee5fc5bc1d1c64e04bfa8c5bf35886 Mon Sep 17 00:00:00 2001 From: Tim Peters Date: Wed, 13 Jun 2001 01:26:35 +0000 Subject: The new {b,l}p_{u,}longlong() didn't check get_pylong()'s return for NULL. Repaired that, and added appropriate tests for it to test_struct.py. --- Modules/structmodule.c | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'Modules/structmodule.c') diff --git a/Modules/structmodule.c b/Modules/structmodule.c index 4a8886f8be..66b3ac31d9 100644 --- a/Modules/structmodule.c +++ b/Modules/structmodule.c @@ -874,6 +874,8 @@ bp_longlong(char *p, PyObject *v, const formatdef *f) { int res; v = get_pylong(v); + if (v == NULL) + return -1; res = _PyLong_AsByteArray((PyLongObject *)v, (unsigned char *)p, 8, @@ -888,6 +890,8 @@ bp_ulonglong(char *p, PyObject *v, const formatdef *f) { int res; v = get_pylong(v); + if (v == NULL) + return -1; res = _PyLong_AsByteArray((PyLongObject *)v, (unsigned char *)p, 8, @@ -1036,6 +1040,8 @@ lp_longlong(char *p, PyObject *v, const formatdef *f) { int res; v = get_pylong(v); + if (v == NULL) + return -1; res = _PyLong_AsByteArray((PyLongObject*)v, (unsigned char *)p, 8, @@ -1050,6 +1056,8 @@ lp_ulonglong(char *p, PyObject *v, const formatdef *f) { int res; v = get_pylong(v); + if (v == NULL) + return -1; res = _PyLong_AsByteArray((PyLongObject*)v, (unsigned char *)p, 8, -- cgit v1.2.1