You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The server panics when trying to use _index and _set_index to store a nested value in a waif stored in a property. Interestingly, it seems to work properly for variables, or at least if not properly it doesn't crash.
Put differently: if you store a waif in a property that has these two verbs, and you try to add a key to any submap of that waif, server panic.
Here's an example object, using $waif as its parent; call crash() on it to reproduce the bug:
@create $waif named CrashTheServerWaif@prop #710.":data"[] rc
@prop #710."crash"0@verb #710:":_index" this none this
@program #710::_index
return this.data[args[1]];.@verb #710:":_set_index" this none this
@program #710::_set_index
this.data[args[1]]= args[2];
return this;.@verb #710:"crash" this none this
@program #710:crash
w = this:new();
this.crash = w;
this.crash["data"]="something";"Good so far.";
this.crash["submap"]=[];"Even here. But then...";
this.crash["submap"]["anything"]=1;"panic";.
The text was updated successfully, but these errors were encountered:
The server panics when trying to use _index and _set_index to store a nested value in a waif stored in a property. Interestingly, it seems to work properly for variables, or at least if not properly it doesn't crash.
Put differently: if you store a waif in a property that has these two verbs, and you try to add a key to any submap of that waif, server panic.
Here's an example object, using $waif as its parent; call crash() on it to reproduce the bug:
The text was updated successfully, but these errors were encountered: