ppp: Fix seg fault when using pppol2tp

PPPD crashes (SEGV) when the dump or dryrun options are specified and an option
is internally defined as "o_special" with an option flag of "OPT_A2STRVAL".
As the option value is not saved when the parameter is processed, a reference
to the option will result into a crash (e.g. when printing).

Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@45263 3c298f89-4303-0410-b956-a3cf2f4a3e73
This commit is contained in:
John Crispin 2015-04-03 19:06:45 +00:00
parent 2c66af96a6
commit 6f9c3de55e

View File

@ -0,0 +1,13 @@
--- a/pppd/plugins/pppol2tp/pppol2tp.c
+++ b/pppd/plugins/pppol2tp/pppol2tp.c
@@ -148,6 +148,10 @@ static int setdevname_pppol2tp(char **ar
fatal("PPPoL2TP kernel driver not installed");
}
+ pppol2tp_fd_str = strdup(*argv);
+ if (pppol2tp_fd_str == NULL)
+ novm("PPPoL2TP FD");
+
/* Setup option defaults. Compression options are disabled! */
modem = 0;