Blame SOURCES/djvulibre-3.5.27-null-dereference.patch

rdobuilder 3550ff
From c8bec6549c10ffaa2f2fbad8bbc629efdf0dd125 Mon Sep 17 00:00:00 2001
rdobuilder 3550ff
From: Leon Bottou <leon@bottou.org>
rdobuilder 3550ff
Date: Thu, 17 Oct 2019 22:20:31 -0400
rdobuilder 3550ff
Subject: [PATCH 1/2] Fixed bug 309
rdobuilder 3550ff
rdobuilder 3550ff
---
rdobuilder 3550ff
 libdjvu/IW44EncodeCodec.cpp | 2 +-
rdobuilder 3550ff
 tools/ddjvu.cpp             | 2 +-
rdobuilder 3550ff
 2 files changed, 2 insertions(+), 2 deletions(-)
rdobuilder 3550ff
rdobuilder 3550ff
diff --git a/libdjvu/IW44EncodeCodec.cpp b/libdjvu/IW44EncodeCodec.cpp
rdobuilder 3550ff
index 00752a0..f81eaeb 100644
rdobuilder 3550ff
--- a/libdjvu/IW44EncodeCodec.cpp
rdobuilder 3550ff
+++ b/libdjvu/IW44EncodeCodec.cpp
rdobuilder 3550ff
@@ -405,7 +405,7 @@ filter_fv(short *p, int w, int h, int rowsize, int scale)
rdobuilder 3550ff
   int y = 0;
rdobuilder 3550ff
   int s = scale*rowsize;
rdobuilder 3550ff
   int s3 = s+s+s;
rdobuilder 3550ff
-  h = ((h-1)/scale)+1;
rdobuilder 3550ff
+  h = (h>0) ? ((h-1)/scale)+1 : 0;
rdobuilder 3550ff
   y += 1;
rdobuilder 3550ff
   p += s;
rdobuilder 3550ff
   while (y-3 < h)
rdobuilder 3550ff
diff --git a/tools/ddjvu.cpp b/tools/ddjvu.cpp
rdobuilder 3550ff
index 6d0df3b..7109952 100644
rdobuilder 3550ff
--- a/tools/ddjvu.cpp
rdobuilder 3550ff
+++ b/tools/ddjvu.cpp
rdobuilder 3550ff
@@ -279,7 +279,7 @@ render(ddjvu_page_t *page, int pageno)
rdobuilder 3550ff
       prect.h = (ih * 100) / dpi;
rdobuilder 3550ff
     }
rdobuilder 3550ff
   /* Process aspect ratio */
rdobuilder 3550ff
-  if (flag_aspect <= 0)
rdobuilder 3550ff
+  if (flag_aspect <= 0 && iw>0 && ih>0)
rdobuilder 3550ff
     {
rdobuilder 3550ff
       double dw = (double)iw / prect.w;
rdobuilder 3550ff
       double dh = (double)ih / prect.h;
rdobuilder 3550ff
-- 
rdobuilder 3550ff
2.23.0
rdobuilder 3550ff