Package: release.debian.org
Severity: normal
Tags: buster
User: release.debian....@packages.debian.org
Usertags: pu

Hi,

let's fix a buffer overrun in gnubg that prevents startup in certain
locales. #932351

This is a backport from sid and already uploaded.


Andreas
diff -Nru gnubg-1.06.002/debian/changelog gnubg-1.06.002/debian/changelog
--- gnubg-1.06.002/debian/changelog     2018-08-27 00:02:10.000000000 +0200
+++ gnubg-1.06.002/debian/changelog     2020-01-13 11:27:20.000000000 +0100
@@ -1,3 +1,12 @@
+gnubg (1.06.002-1+deb10u1) buster; urgency=medium
+
+  [ Russ Allbery ]
+  * Increase the size of static buffers used to build messages during
+    program start so that the Spanish translation doesn't overflow a
+    buffer.  (Closes: #932351)
+
+ -- Andreas Beckmann <a...@debian.org>  Mon, 13 Jan 2020 11:27:20 +0100
+
 gnubg (1.06.002-1) unstable; urgency=medium
 
   * New upstream release.
diff -Nru 
gnubg-1.06.002/debian/patches/0002-Expand-size-of-buffers-for-eval-messages.patch
 
gnubg-1.06.002/debian/patches/0002-Expand-size-of-buffers-for-eval-messages.patch
--- 
gnubg-1.06.002/debian/patches/0002-Expand-size-of-buffers-for-eval-messages.patch
   1970-01-01 01:00:00.000000000 +0100
+++ 
gnubg-1.06.002/debian/patches/0002-Expand-size-of-buffers-for-eval-messages.patch
   2020-01-13 11:27:20.000000000 +0100
@@ -0,0 +1,48 @@
+From: Russ Allbery <r...@debian.org>
+Date: Sun, 21 Jul 2019 11:35:00 -0700
+Subject: Expand size of buffers for eval messages
+
+CommandSetEvalCubeful, CommandSetEvalPrune, and
+CommandSetEvalDeterministic used static buffers of 128 bytes for
+displaying messages, but the Spanish translation for at least
+CommandSetEvalDeterministic used more space than the length of
+that buffer.  This, in turn, triggered a bounds checking error
+during program start.
+
+Double the length of the buffers to work around the immediate
+problem.
+---
+ set.c | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/set.c b/set.c
+index 4e2e826..09f43e8 100644
+--- a/set.c
++++ b/set.c
+@@ -1024,7 +1024,7 @@ extern void
+ CommandSetEvalCubeful(char *sz)
+ {
+ 
+-    char asz[2][128], szCommand[64];
++    char asz[2][256], szCommand[64];
+     int f = pecSet->fCubeful;
+ 
+     sprintf(asz[0], _("%s will use cubeful evaluation.\n"), szSet);
+@@ -1038,7 +1038,7 @@ extern void
+ CommandSetEvalPrune(char *sz)
+ {
+ 
+-    char asz[2][128], szCommand[64];
++    char asz[2][256], szCommand[64];
+     int f = pecSet->fUsePrune;
+ 
+     sprintf(asz[0], _("%s will use pruning.\n"), szSet);
+@@ -1052,7 +1052,7 @@ extern void
+ CommandSetEvalDeterministic(char *sz)
+ {
+ 
+-    char asz[2][128], szCommand[64];
++    char asz[2][256], szCommand[64];
+     int f = pecSet->fDeterministic;
+ 
+     sprintf(asz[0], _("%s will use deterministic noise.\n"), szSet);
diff -Nru gnubg-1.06.002/debian/patches/series 
gnubg-1.06.002/debian/patches/series
--- gnubg-1.06.002/debian/patches/series        2018-08-27 00:02:10.000000000 
+0200
+++ gnubg-1.06.002/debian/patches/series        2020-01-13 11:27:20.000000000 
+0100
@@ -1 +1,2 @@
 0001-Support-finding-databases-in-var-as-well-as-usr.patch
+0002-Expand-size-of-buffers-for-eval-messages.patch

Reply via email to