blueloveTH %!s(int64=2) %!d(string=hai) anos
pai
achega
1d20da3891
Modificáronse 1 ficheiros con 3 adicións e 1 borrados
  1. 3 1
      src/vm.h

+ 3 - 1
src/vm.h

@@ -901,10 +901,12 @@ inline PyObject* VM::_py_call(PyObject** p0, PyObject* callable, ArgsView args,
 
 
     int i = 0;
     int i = 0;
     static THREAD_LOCAL PyObject* buffer[PK_MAX_CO_VARNAMES];
     static THREAD_LOCAL PyObject* buffer[PK_MAX_CO_VARNAMES];
-    memset(buffer, 0, sizeof(void*) * co->varnames.size());
 
 
     // prepare args
     // prepare args
     for(int index: fn.decl->args) buffer[index] = args[i++];
     for(int index: fn.decl->args) buffer[index] = args[i++];
+    // set extra varnames to nullptr
+    for(int j=i; j<co->varnames.size(); j++) buffer[j] = nullptr;
+
     // prepare kwdefaults
     // prepare kwdefaults
     for(auto& kv: fn.decl->kwargs) buffer[kv.key] = kv.value;
     for(auto& kv: fn.decl->kwargs) buffer[kv.key] = kv.value;