aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSelva Nair2016-11-29 20:53:14 -0500
committerGert Doering2016-11-30 09:37:05 +0100
commit997795353916ffcb413a2da02dc7f210fd621954 (patch)
treee9dbe1bfc45e06285478fec03a73ef051efc062f
parent009521ac8ae613084b23b9e3e5dc4ebeccd4c6c8 (diff)
downloadopenvpn-997795353916ffcb413a2da02dc7f210fd621954.zip
openvpn-997795353916ffcb413a2da02dc7f210fd621954.tar.gz
When parsing '--setenv opt xx ..' make sure a third parameter is present
When no parameters are present, set it to "setenv opt" to trigger a descriptive error message. And, thus get rid of the pesky NULL pointer dereferencing. Trac: #779 Signed-off-by: Selva Nair <selva.nair@gmail.com> Acked-by: Gert Doering <gert@greenie.muc.de> Message-Id: <1480470794-6349-1-git-send-email-selva.nair@gmail.com> URL: https://www.mail-archive.com/openvpn-devel@lists.sourceforge.net/msg13311.html Signed-off-by: Gert Doering <gert@greenie.muc.de>
-rw-r--r--src/openvpn/options.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/openvpn/options.c b/src/openvpn/options.c
index a7a1f9a..eac8023 100644
--- a/src/openvpn/options.c
+++ b/src/openvpn/options.c
@@ -4407,6 +4407,8 @@ add_option (struct options *options,
*/
if (streq (p[0], "setenv") && p[1] && streq (p[1], "opt") && !(permission_mask & OPT_P_PULL_MODE))
{
+ if (!p[2])
+ p[2] = "setenv opt"; /* will trigger an error that includes setenv opt */
p += 2;
msglevel_fc = M_WARN;
}