Blame SOURCES/djvulibre-3.5.27-zero-bytes-check.patch

rdobuilder 3550ff
From 9658b01431cd7ff6344d7787f855179e73fe81a7 Mon Sep 17 00:00:00 2001
rdobuilder 3550ff
From: Leon Bottou <leon@bottou.org>
rdobuilder 3550ff
Date: Mon, 8 Apr 2019 22:55:38 -0400
rdobuilder 3550ff
Subject: fix bug #298
rdobuilder 3550ff
rdobuilder 3550ff
rdobuilder 3550ff
diff --git a/libdjvu/GBitmap.h b/libdjvu/GBitmap.h
rdobuilder 3550ff
index e8e0c9b..ca89a19 100644
rdobuilder 3550ff
--- a/libdjvu/GBitmap.h
rdobuilder 3550ff
+++ b/libdjvu/GBitmap.h
rdobuilder 3550ff
@@ -566,7 +566,7 @@ GBitmap::operator[](int row)
rdobuilder 3550ff
 {
rdobuilder 3550ff
   if (!bytes) 
rdobuilder 3550ff
     uncompress();
rdobuilder 3550ff
-  if (row<0 || row>=nrows) {
rdobuilder 3550ff
+  if (row<0 || row>=nrows || !bytes) {
rdobuilder 3550ff
 #ifndef NDEBUG
rdobuilder 3550ff
     if (zerosize < bytes_per_row + border)
rdobuilder 3550ff
       G_THROW( ERR_MSG("GBitmap.zero_small") );
rdobuilder 3550ff
@@ -581,7 +581,7 @@ GBitmap::operator[](int row) const
rdobuilder 3550ff
 {
rdobuilder 3550ff
   if (!bytes) 
rdobuilder 3550ff
     ((GBitmap*)this)->uncompress();
rdobuilder 3550ff
-  if (row<0 || row>=nrows) {
rdobuilder 3550ff
+  if (row<0 || row>=nrows || !bytes) {
rdobuilder 3550ff
 #ifndef NDEBUG
rdobuilder 3550ff
     if (zerosize < bytes_per_row + border)
rdobuilder 3550ff
       G_THROW( ERR_MSG("GBitmap.zero_small") );