1
0
forked from pool/util-linux

Accepting request 201407 from Base:System

- Add more-check-for-buffer-size-when-write-multibyte-char.patch and
  more-guarantee-space-for-multibyte.patch -- check for buffer space with
  multi-byte chars (BNC#829720). (forwarded request 201241 from mgorse)

OBS-URL: https://build.opensuse.org/request/show/201407
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/util-linux?expand=0&rev=167
This commit is contained in:
Stephan Kulow 2013-09-30 07:32:48 +00:00 committed by Git OBS Bridge
commit 31e7937327
4 changed files with 72 additions and 0 deletions

View File

@ -0,0 +1,27 @@
From c36407293d63d428af176097527df89d623bc74f Mon Sep 17 00:00:00 2001
From: Karel Zak <kzak@redhat.com>
Date: Thu, 1 Aug 2013 16:00:21 +0200
Subject: [PATCH] more: check for buffer size when write multibyte char
Signed-off-by: Karel Zak <kzak@redhat.com>
---
text-utils/more.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/text-utils/more.c b/text-utils/more.c
index 3377118..9af15b3 100644
--- a/text-utils/more.c
+++ b/text-utils/more.c
@@ -912,7 +912,8 @@ int get_line(register FILE *f, int *length)
Fseek(f, file_pos_bak);
break_flag = 1;
} else {
- for (i = 0; i < mbc_pos; i++)
+ for (i = 0; p < &Line[LineLen - 1] &&
+ i < mbc_pos; i++)
*p++ = mbc[i];
if (wc_width > 0)
column += wc_width;
--
1.8.4

View File

@ -0,0 +1,32 @@
From 418cb4b3bb7a61aec62ebe91194f7722ea608842 Mon Sep 17 00:00:00 2001
From: Karel Zak <kzak@redhat.com>
Date: Thu, 1 Aug 2013 16:41:50 +0200
Subject: [PATCH] more: guarantee space for multibyte
.. to make the code more robust.
Signed-off-by: Karel Zak <kzak@redhat.com>
---
text-utils/more.c | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/text-utils/more.c b/text-utils/more.c
index 9af15b3..ac35acc 100644
--- a/text-utils/more.c
+++ b/text-utils/more.c
@@ -1030,6 +1030,12 @@ int get_line(register FILE *f, int *length)
if (column >= Mcol && fold_opt)
break;
+#ifdef HAVE_WIDECHAR
+ if (use_mbc_buffer_flag == 0 && p >= &Line[LineLen - 1 - 4])
+ /* don't read another char if there is no space for
+ * whole multibyte sequence */
+ break;
+#endif
c = Getc(f);
}
if (column >= Mcol && Mcol > 0) {
--
1.8.4

View File

@ -1,3 +1,10 @@
-------------------------------------------------------------------
Fri Sep 27 21:58:03 UTC 2013 - mgorse@suse.com
- Add more-check-for-buffer-size-when-write-multibyte-char.patch and
more-guarantee-space-for-multibyte.patch -- check for buffer space with
multi-byte chars (BNC#829720).
-------------------------------------------------------------------
Fri Sep 27 16:58:40 UTC 2013 - mgorse@suse.com

View File

@ -102,6 +102,10 @@ Patch4: make-sure-sbin-resp-usr-sbin-are-in-PATH.diff
Patch5: eject-scsi-check-host_status-and-driver_status.patch
# PATCH-FIX-UPSTREAM more-fix-buffer-overflow.patch bnc839720 mgorse@suse.com -- More: Fix under-allocation of memory.
Patch6: more-fix-buffer-overflow.patch
# PATCH-FIX-UPSTREAM more-check-for-buffer-size-when-write-multibyte-char.patch bnc839720 mgorse@suse.com
Patch7: more-check-for-buffer-size-when-write-multibyte-char.patch
# PATCH-FIX-UPSTREAM more-guarantee-space-for-multibyte.patch bnc839720 mgorse@suse.com
Patch8: more-guarantee-space-for-multibyte.patch
# disable encryption
Patch12: util-linux-2.23.1-noenc-suse.diff
@ -222,6 +226,8 @@ xzcat %{S:0} | %gpg_verify %{S:12} -
%patch4 -p1
%patch5 -p1
%patch6 -p1
%patch7 -p1
%patch8 -p1
%patch12 -p1
#
%patch20 -p1