From d6f8c236b8c601781cef6f8521fd47dffa1758b4 Mon Sep 17 00:00:00 2001 From: Neven Sajko Date: Sat, 28 May 2016 15:00:06 +0200 Subject: acme: do not pass null pointers where disallowed The C standards disallow passing null pointers to memmove and memcmp. Change-Id: I1c88c2adbc32a23ef742f206038b8f7c4e0540c7 --- src/cmd/acme/util.c | 2 ++ src/cmd/acme/wind.c | 3 ++- 2 files changed, 4 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/cmd/acme/util.c b/src/cmd/acme/util.c index d694634f..dc978095 100644 --- a/src/cmd/acme/util.c +++ b/src/cmd/acme/util.c @@ -276,6 +276,8 @@ runeeq(Rune *s1, uint n1, Rune *s2, uint n2) { if(n1 != n2) return FALSE; + if(n1 == 0) + return TRUE; return memcmp(s1, s2, n1*sizeof(Rune)) == 0; } diff --git a/src/cmd/acme/wind.c b/src/cmd/acme/wind.c index 19b52f5c..b4f1a1cb 100644 --- a/src/cmd/acme/wind.c +++ b/src/cmd/acme/wind.c @@ -476,7 +476,8 @@ winsettag1(Window *w) /* compute the text for the whole tag, replacing current only if it differs */ new = runemalloc(w->body.file->nname+100); i = 0; - runemove(new+i, w->body.file->name, w->body.file->nname); + if(w->body.file->nname != 0) + runemove(new, w->body.file->name, w->body.file->nname); i += w->body.file->nname; runemove(new+i, Ldelsnarf, 10); i += 10; -- cgit v1.2.3