Introduction
Introduction Statistics Contact Development Disclaimer Help
Bail out before allocating slides if file is empty - sent - simple plaintext pr…
git clone git://git.suckless.org/sent
Log
Files
Refs
README
LICENSE
---
commit a1dcdad14fb3a8ccdc97e86cb3aa25684778819c
parent eac14478e949e29e442922d997f057573ddd9923
Author: Quentin Rameau <[email protected]>
Date: Wed, 18 Nov 2015 23:21:33 +0100
Bail out before allocating slides if file is empty
In load() we allocated slides before checking if we actually read
anything from the FILE fp and then continue with an allocated but
“empty” space wich would lead to errors.
Diffstat:
M sent.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
---
diff --git a/sent.c b/sent.c
@@ -413,10 +413,6 @@ void load(FILE *fp)
/* read each line from fp and add it to the item list */
while (1) {
- if ((slidecount+1) * sizeof(*slides) >= size)
- if (!(slides = realloc(slides, (size += BUFSIZ))))
- die("cannot realloc %u bytes:", size);
-
/* eat consecutive empty lines */
while ((p = fgets(buf, sizeof(buf), fp)))
if (strcmp(buf, "\n") != 0 && buf[0] != '#')
@@ -424,6 +420,10 @@ void load(FILE *fp)
if (!p)
break;
+ if ((slidecount+1) * sizeof(*slides) >= size)
+ if (!(slides = realloc(slides, (size += BUFSIZ))))
+ die("cannot realloc %u bytes:", size);
+
/* read one slide */
maxlines = 0;
memset((s = &slides[slidecount]), 0, sizeof(Slide));
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.