aboutsummaryrefslogtreecommitdiffstats
path: root/package/network/services/ppp
diff options
context:
space:
mode:
authorJohn Crispin <blogic@openwrt.org>2015-04-03 19:06:45 +0000
committerJohn Crispin <blogic@openwrt.org>2015-04-03 19:06:45 +0000
commit6f9c3de55e3656946a7d4bdda896f97a034e4c8d (patch)
tree6647ed82b9b3c3765ba2168b502d252ce0cc54b1 /package/network/services/ppp
parent2c66af96a6cebd72a58f8db00a8ea1862d5d5970 (diff)
downloadmaster-187ad058-6f9c3de55e3656946a7d4bdda896f97a034e4c8d.tar.gz
master-187ad058-6f9c3de55e3656946a7d4bdda896f97a034e4c8d.tar.bz2
master-187ad058-6f9c3de55e3656946a7d4bdda896f97a034e4c8d.zip
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
Diffstat (limited to 'package/network/services/ppp')
-rw-r--r--package/network/services/ppp/patches/540-save-pppol2tp_fd_str.patch13
1 files changed, 13 insertions, 0 deletions
diff --git a/package/network/services/ppp/patches/540-save-pppol2tp_fd_str.patch b/package/network/services/ppp/patches/540-save-pppol2tp_fd_str.patch
new file mode 100644
index 0000000000..7dd2ad844c
--- /dev/null
+++ b/package/network/services/ppp/patches/540-save-pppol2tp_fd_str.patch
@@ -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;