Introduction
Introduction Statistics Contact Development Disclaimer Help
Avoid out-of-bounds access when a slide input line begins with \0 - sent - simp…
git clone git://git.suckless.org/sent
Log
Files
Refs
README
LICENSE
---
commit 2649e8d5334f7e37a1710c60fb740ecfe91b9f9e
parent 72d33d463fed7ba271961a6f91cae1fed8faa454
Author: Chris Down <[email protected]>
Date: Wed, 13 May 2020 12:20:53 +0100
Avoid out-of-bounds access when a slide input line begins with \0
If we read in a line with \0 at the beginning, blen will be 0. However,
we then try to index our copy of the buffer with
s->lines[s->linecount][blen-1], we'll read (and potentially write if the
data happens to be 0x0A) outside of strdup's allocated memory, and may
crash.
Fix this by just rejecting lines with a leading \0. Lines with nulls
embedded in other places don't invoke similar behaviour, since the
length is still >0.
Diffstat:
M sent.c | 4 ++++
1 file changed, 4 insertions(+), 0 deletions(-)
---
diff --git a/sent.c b/sent.c
@@ -428,6 +428,10 @@ load(FILE *fp)
maxlines = 0;
memset((s = &slides[slidecount]), 0, sizeof(Slide));
do {
+ /* if there's a leading null, we can't do blen-1 */
+ if (buf[0] == '\0')
+ continue;
+
if (buf[0] == '#')
continue;
You are viewing proxied material from suckless.org. The copyright of proxied material belongs to its original authors. Any comments or complaints in relation to proxied material should be directed to the original authors of the content concerned. Please see the disclaimer for more details.