network/pptpd: Fixed invalid declaration of pppInterfaceIPs

> Hi, have been testing pptpd on slackware 14.0RC4 using your
> slackbuild, and found there was a corruption in arguments
> being passed to pppd.
>
> had spent a lot of time searching for a fix, but found none.
> many others had mentioned the problem, but not a fix.
>
> the attached patch fixed the issue (have posted to the poptop
> mailing list)
>
> seems to be a compiler issue around the declaration of
> char pppInterfaceIPs[33];
> inside the if { } no longer being valid outside of the statement.
> and hence being corrupted when referred to when pppd is invoked.

Signed-off-by: Robby Workman <rworkman@slackbuilds.org>
This commit is contained in:
Swaz 2012-09-13 23:55:39 -05:00 committed by Robby Workman
parent 5344a7a8d1
commit 51d4ea72f7
2 changed files with 17 additions and 1 deletions

View file

@ -0,0 +1,13 @@
diff -rupN pptpd-1.3.4/pptpctrl.c pptpd-1.3.4.new/pptpctrl.c
--- pptpd-1.3.4/pptpctrl.c 2006-12-08 13:01:40.000000000 +1300
+++ pptpd-1.3.4.new/pptpctrl.c 2012-09-14 11:16:38.646659399 +1200
@@ -759,8 +759,8 @@ static void launch_pppd(char **pppaddrs,
syslog(LOG_DEBUG, "CTRL (PPPD Launcher): remote address = %s", pppaddrs[1]);
}
+ char pppInterfaceIPs[33];
if (*pppaddrs[0] || *pppaddrs[1]) {
- char pppInterfaceIPs[33];
sprintf(pppInterfaceIPs, "%s:%s", pppaddrs[0], pppaddrs[1]);
pppd_argv[an++] = pppInterfaceIPs;
}

View file

@ -24,7 +24,7 @@
PRGNAM=pptpd
VERSION=${VERSION:-1.3.4}
BUILD=${BUILD:-2}
BUILD=${BUILD:-3}
TAG=${TAG:-_SBo}
if [ -z "$ARCH" ]; then
@ -79,6 +79,9 @@ patch -p1 < $CWD/fix_plugins_patchlevel_h.diff
# Fix hardcoded /usr/lib/pptpd/ in pptpctrl.c if ARCH=x86_64
[ "$ARCH" = "x86_64" ] && patch -p1 < $CWD/fix_pptpctrl_c_for_x86_64.diff
# Thanks to Swaz for the patch to fix an invalid declaration of pppInterfaceIPs
patch -p1 < $CWD/pptpctl_fix.patch
CFLAGS="$SLKCFLAGS" \
./configure \
--prefix=/usr \