summaryrefslogtreecommitdiffstats
path: root/patches/source/libcaca/libcaca-0.99.beta20-CVE-2022-0856.patch
blob: 092af0643f33a77a80949357c74da9a46310329f (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
From d33a9ca2b7e9f32483c1aee4c3944c56206d456b Mon Sep 17 00:00:00 2001
From: Josef Moellers <jmoellers@suse.de>
Date: Fri, 18 Mar 2022 11:52:22 +0100
Subject: [PATCH] Prevent a divide-by-zero by checking for a zero width or
 height.

---
 src/img2txt.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/img2txt.c b/src/img2txt.c
index b8a25899..b9d5ba24 100644
--- a/src/img2txt.c
+++ b/src/img2txt.c
@@ -177,7 +177,13 @@ int main(int argc, char **argv)
     }
 
     /* Assume a 6×10 font */
-    if(!cols && !lines)
+    if(!i->w || !i->h)
+    {
+	fprintf(stderr, "%s: image size is 0\n", argv[0]);
+        lines = 0;
+	cols = 0;
+    }
+    else if(!cols && !lines)
     {
         cols = 60;
         lines = cols * i->h * font_width / i->w / font_height;
@@ -214,7 +220,7 @@ int main(int argc, char **argv)
     export = caca_export_canvas_to_memory(cv, format?format:"ansi", &len);
     if(!export)
     {
-        fprintf(stderr, "%s: Can't export to format '%s'\n", argv[0], format);
+        fprintf(stderr, "%s: Can't export to format '%s'\n", argv[0], format?format:"ansi");
     }
     else
     {