summaryrefslogtreecommitdiff
path: root/libinterp
diff options
context:
space:
mode:
Diffstat (limited to 'libinterp')
-rw-r--r--libinterp/string.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/libinterp/string.c b/libinterp/string.c
index 4a4eb54e..32320d56 100644
--- a/libinterp/string.c
+++ b/libinterp/string.c
@@ -131,6 +131,8 @@ slicer(ulong start, ulong v, String *ds)
l = -ds->len;
if(v < start || v > l)
error(exBounds);
+ if(nc == 0)
+ return H;
ns = newrunes(nc);
memmove(ns->Srune, &ds->Srune[start], nc*sizeof(Rune));
}
@@ -138,6 +140,8 @@ slicer(ulong start, ulong v, String *ds)
l = ds->len;
if(v < start || v > l)
error(exBounds);
+ if(nc == 0)
+ return H;
ns = newstring(nc);
memmove(ns->Sascii, &ds->Sascii[start], nc);
}