From ac2523af82c96c7a767a8d4c36432dd38522284a Mon Sep 17 00:00:00 2001 From: fleisherdev <55119509+fleisherdev@users.noreply.github.com> Date: Tue, 5 Apr 2022 23:37:51 -0400 Subject: [PATCH] Fix null ref on access of Entry[] contents (#5947) Co-authored-by: jfleisher --- src/api/dotnet/NativeFuncInterp.cs | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/src/api/dotnet/NativeFuncInterp.cs b/src/api/dotnet/NativeFuncInterp.cs index 86bb27c55..0f446fa6f 100644 --- a/src/api/dotnet/NativeFuncInterp.cs +++ b/src/api/dotnet/NativeFuncInterp.cs @@ -85,13 +85,14 @@ namespace Microsoft.Z3 for (uint j = 0; j < numEntries; ++j) { - var entry = Native.Z3_func_interp_get_entry(nCtx, fi, j); - Native.Z3_func_entry_inc_ref(nCtx, entry); + var ntvEntry = Native.Z3_func_interp_get_entry(nCtx, fi, j); + Entries[j] = new Entry(); + Native.Z3_func_entry_inc_ref(nCtx, ntvEntry); Entries[j].Arguments = new Z3_ast[numArgs]; for (uint i = 0; i < numArgs; ++i) - Entries[j].Arguments[i] = Native.Z3_func_entry_get_arg(nCtx, entry, i); - Entries[j].Result = Native.Z3_func_entry_get_value(nCtx, entry); - Native.Z3_func_entry_dec_ref(nCtx, entry); + Entries[j].Arguments[i] = Native.Z3_func_entry_get_arg(nCtx, ntvEntry, i); + Entries[j].Result = Native.Z3_func_entry_get_value(nCtx, ntvEntry); + Native.Z3_func_entry_dec_ref(nCtx, ntvEntry); } Native.Z3_func_interp_dec_ref(nCtx, fi);