aboutsummaryrefslogtreecommitdiff
path: root/src/libdraw
diff options
context:
space:
mode:
authorRuss Cox <rsc@swtch.com>2014-12-01 20:15:52 -0500
committerRuss Cox <rsc@swtch.com>2014-12-02 01:18:40 +0000
commitfff818fe878ca5edfbac85b15e77ada2acb8ea0f (patch)
tree1c528d7e620547fa26704577af3330188154ba46 /src/libdraw
parentd3a47e14e5ebf7a4d8ca8c9a3dfe748b93d3663a (diff)
downloadplan9port-fff818fe878ca5edfbac85b15e77ada2acb8ea0f.tar.gz
plan9port-fff818fe878ca5edfbac85b15e77ada2acb8ea0f.tar.bz2
plan9port-fff818fe878ca5edfbac85b15e77ada2acb8ea0f.zip
libdraw, libframe, acme: fix, guard against inverted range in textsetselect
Credit to Roi Martin <jroi.martin@gmail.com> for noticing that libdraw was being passed a negative string length and for finding the sequence of keystrokes that make acme do it reproducibly. Change-Id: If3f3d04a25c506175f740d3e887d5d83b5cd1bfe Reviewed-on: https://plan9port-review.googlesource.com/1092 Reviewed-by: Russ Cox <rsc@swtch.com>
Diffstat (limited to 'src/libdraw')
-rw-r--r--src/libdraw/string.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/libdraw/string.c b/src/libdraw/string.c
index 4e876c17..392a7e8a 100644
--- a/src/libdraw/string.c
+++ b/src/libdraw/string.c
@@ -67,6 +67,9 @@ _string(Image *dst, Point pt, Image *src, Point sp, Font *f, char *s, Rune *r, i
Font *def;
Subfont *sf;
+ if(len < 0)
+ sysfatal("libdraw: _string len=%d", len);
+
if(s == nil){
s = "";
sptr = nil;