From d3d3ca97cd35d7c8c02117f35d4e788aebc9ede0 Mon Sep 17 00:00:00 2001 From: Willy Sudiarto Raharjo Date: Wed, 12 Nov 2014 06:03:03 +0700 Subject: system/vbindiff: Fix segfault. Signed-off-by: Willy Sudiarto Raharjo --- system/vbindiff/vbindiff-prevent-segfault.patch | 25 +++++++++++++++++++++++++ system/vbindiff/vbindiff.SlackBuild | 4 +++- 2 files changed, 28 insertions(+), 1 deletion(-) create mode 100644 system/vbindiff/vbindiff-prevent-segfault.patch (limited to 'system/vbindiff') diff --git a/system/vbindiff/vbindiff-prevent-segfault.patch b/system/vbindiff/vbindiff-prevent-segfault.patch new file mode 100644 index 0000000000..2b6c173f0b --- /dev/null +++ b/system/vbindiff/vbindiff-prevent-segfault.patch @@ -0,0 +1,25 @@ +From 879a63ac5f0ffdbe7350ccc7438692a6669d26f2 Mon Sep 17 00:00:00 2001 +From: Peter Ross +Date: Sat, 22 Feb 2014 22:50:54 +1100 +Subject: [PATCH] vbindiff: prevent segfault when comparing files of different + length + +--- + vbindiff.cpp | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/vbindiff.cpp b/vbindiff.cpp +index 116a037..a032bc6 100644 +--- a/vbindiff.cpp ++++ b/vbindiff.cpp +@@ -487,6 +487,8 @@ void FileDisplay::display() + + buf[index++] = displayTable[data->line[i][j]]; + } ++ if (index < 0) ++ index = 0; + memset(buf + index, ' ', sizeof(buf) - index - 1); + memset(str, ' ', screenWidth - (str - buf2)); + +-- +1.8.3.2 diff --git a/system/vbindiff/vbindiff.SlackBuild b/system/vbindiff/vbindiff.SlackBuild index 374e4f7f1d..4772cd59bf 100644 --- a/system/vbindiff/vbindiff.SlackBuild +++ b/system/vbindiff/vbindiff.SlackBuild @@ -21,7 +21,7 @@ PRGNAM=vbindiff VERSION=${VERSION:-3.0_beta4} -BUILD=${BUILD:-1} +BUILD=${BUILD:-2} TAG=${TAG:-_SBo} if [ -z "$ARCH" ]; then @@ -68,6 +68,8 @@ find -L . \ \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \ -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \; +patch -p1 < $CWD/vbindiff-prevent-segfault.patch + CFLAGS="$SLKCFLAGS" \ CXXFLAGS="$SLKCFLAGS" \ ./configure \ -- cgit v1.2.3