pppd: fix pppol2tp option printing
authorNathan Hintz <nlhintz@hotmail.com>
Sun, 4 Dec 2016 20:37:33 +0000 (12:37 -0800)
committerNathan Hintz <nlhintz@hotmail.com>
Sun, 4 Dec 2016 20:58:00 +0000 (12:58 -0800)
PPPD crashes (SEGV) when the 'dump' or 'dryrun' options are specified and
the 'pppol2tp' option is specified.  The crash occurs because the
'pppol2tp' option value is not saved when the parameter is processed (in
the pppol2tp plugin), but is then referenced when printed.  This was
encountered using xl2tpd and the l2tp_ppp kernel module.

Modify the 'pppol2tp' plugin to save the option value.

Signed-off-by: Nathan Hintz <nlhintz@hotmail.com>
---

Note: This patch resolves issue #32 (https://github.com/paulusmack/ppp/issues/32).

pppd/plugins/pppol2tp/pppol2tp.c

index 0e28606f9ae4caae126f32bcabd49d9ae79ce78e..1be0ad25b67cb1e0dca3a6ce4832c766ecd996fe 100644 (file)
@@ -148,6 +148,10 @@ static int setdevname_pppol2tp(char **argv)
                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;