From d87d0333f4e88e37c2e63cc335edd00f9521a1a9 Mon Sep 17 00:00:00 2001 From: Victor Milovanov Date: Tue, 16 Jun 2020 15:13:32 -0700 Subject: [PATCH] fixed crash due to unnecessary decref of a borrowed reference in params array handling --- src/runtime/methodbinder.cs | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/src/runtime/methodbinder.cs b/src/runtime/methodbinder.cs index b74f21754..b3186a3f2 100644 --- a/src/runtime/methodbinder.cs +++ b/src/runtime/methodbinder.cs @@ -372,7 +372,7 @@ internal Binding Bind(IntPtr inst, IntPtr args, IntPtr kw, MethodBase info, Meth static IntPtr HandleParamsArray(IntPtr args, int arrayStart, int pyArgCount, out bool isNewReference) { isNewReference = false; - IntPtr op; + IntPtr op; // for a params method, we may have a sequence or single/multiple items // here we look to see if the item at the paramIndex is there or not // and then if it is a sequence itself. @@ -390,10 +390,6 @@ static IntPtr HandleParamsArray(IntPtr args, int arrayStart, int pyArgCount, out { isNewReference = true; op = Runtime.PyTuple_GetSlice(args, arrayStart, pyArgCount); - if (item != IntPtr.Zero) - { - Runtime.XDecref(item); - } } } else