.foo[-1] = ... trips assertion (fix #490)

This commit is contained in:
Nicolas Williams committed 2014-08-09 13:10:41 -05:00
1 parent 8cddb7c681
commit 2d1a75f550
2 files changed
+25 -1

No files matched your search

+5 -1
View File
@@ -230,9 +230,13 @@ static jv* jvp_array_read(jv a, int i) {
}
static jv* jvp_array_write(jv* a, int i) {
assert(i >= 0);
jvp_array* array = jvp_array_ptr(*a);
if (i < 0)
i = array->length + i;
if (i < 0)
i = 0;
int pos = i + jvp_array_offset(*a);
if (pos < array->alloc_length && jvp_refcnt_unshared(a->u.ptr)) {
// use existing array space