From a3070d530c70477273cacbc61660b318582fff44 Mon Sep 17 00:00:00 2001 From: Benjamin Peterson Date: Mon, 4 Sep 2017 22:23:42 -0700 Subject: bpo-31347: _PyObject_FastCall_Prepend: do not call memcpy if args might not be null (#3329) Passing NULL as the second argument to to memcpy is undefined behavior even if the size is 0. --- Objects/call.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'Objects/call.c') diff --git a/Objects/call.c b/Objects/call.c index 4294a9beb0..92464327fb 100644 --- a/Objects/call.c +++ b/Objects/call.c @@ -854,9 +854,9 @@ _PyObject_FastCall_Prepend(PyObject *callable, /* use borrowed references */ args2[0] = obj; - memcpy(&args2[1], - args, - (nargs - 1)* sizeof(PyObject *)); + if (nargs > 1) { + memcpy(&args2[1], args, (nargs - 1) * sizeof(PyObject *)); + } result = _PyObject_FastCall(callable, args2, nargs); if (args2 != small_stack) { -- cgit v1.2.1