aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libraries/libpwquality/Fix_possible_stack_overflow.patch21
-rw-r--r--libraries/libpwquality/libpwquality.SlackBuild12
2 files changed, 28 insertions, 5 deletions
diff --git a/libraries/libpwquality/Fix_possible_stack_overflow.patch b/libraries/libpwquality/Fix_possible_stack_overflow.patch
new file mode 100644
index 0000000000000..8cc9ec6b39309
--- /dev/null
+++ b/libraries/libpwquality/Fix_possible_stack_overflow.patch
@@ -0,0 +1,21 @@
+
+# HG changeset patch
+# User Tomas Mraz <tmraz@redhat.com>
+# Date 1440426008 -7200
+# Node ID a4696cd7cd246f6c34a2d2f1d54d569c5e7ecd84
+# Parent bb4952bec17e830c751d99a85ae1de32e22cf659
+Fix possible stack overflow in pwquality_generate() with data from /dev/urandom.
+
+diff -r bb4952bec17e -r a4696cd7cd24 src/generate.c
+--- a/src/generate.c Thu Jul 23 14:11:30 2015 +0200
++++ b/src/generate.c Mon Aug 24 16:20:08 2015 +0200
+@@ -100,7 +100,7 @@
+ int
+ pwquality_generate(pwquality_settings_t *pwq, int entropy_bits, char **password)
+ {
+- char entropy[PWQ_MAX_ENTROPY_BITS/8 + 1];
++ char entropy[(PWQ_MAX_ENTROPY_BITS+PWQ_MAX_ENTROPY_BITS/9)/8 + 2];
+ char *tmp;
+ int maxlen;
+ int try = 0;
+
diff --git a/libraries/libpwquality/libpwquality.SlackBuild b/libraries/libpwquality/libpwquality.SlackBuild
index 43d7a0b8e8189..6299541477dca 100644
--- a/libraries/libpwquality/libpwquality.SlackBuild
+++ b/libraries/libpwquality/libpwquality.SlackBuild
@@ -2,7 +2,7 @@
#
# Slackware build script for libpwquality.
#
-# Copyright 2015 Edinaldo P. Silva, Rio de Janeiro, Brazil.
+# Copyright 2015-2016 Edinaldo P. Silva, Rio de Janeiro, Brazil.
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -24,12 +24,12 @@
PRGNAM=libpwquality
VERSION=${VERSION:-1.3.0}
-BUILD=${BUILD:-1}
+BUILD=${BUILD:-2}
TAG=${TAG:-_SBo}
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
- i?86) ARCH=i486 ;;
+ i?86) ARCH=i586 ;;
arm*) ARCH=arm ;;
*) ARCH=$( uname -m ) ;;
esac
@@ -40,8 +40,8 @@ TMP=${TMP:-/tmp/SBo}
PKG=$TMP/package-$PRGNAM
OUTPUT=${OUTPUT:-/tmp}
-if [ "$ARCH" = "i486" ]; then
- SLKCFLAGS="-O2 -march=i686 -mtune=i686"
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "i686" ]; then
SLKCFLAGS="-O2 -march=i686 -mtune=i686"
@@ -69,6 +69,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/Fix_possible_stack_overflow.patch
+
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
./configure \