summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjanjust <janjust@nikhef.nl>2015-10-10 18:12:49 +0200
committerGert Doering <gert@greenie.muc.de>2015-10-11 09:58:11 +0200
commita3160fc1bd7368395745b9cee6e40fb819f5564c (patch)
treede70cc287cdadb598fbf91d047daf78546010cd2
parent6c45f8c9c268910da104b25e242c6465bb0bb54a (diff)
downloadopenvpn-a3160fc1bd7368395745b9cee6e40fb819f5564c.zip
openvpn-a3160fc1bd7368395745b9cee6e40fb819f5564c.tar.gz
openvpn-a3160fc1bd7368395745b9cee6e40fb819f5564c.tar.xz
Fix "White space before end tags can break the config parser"
trac #569 Acked-by: Arne Schwabe <arne@rfc2549.org> Message-Id: <1444493569-24026-1-git-send-email-janjust@nikhef.nl> URL: http://article.gmane.org/gmane.network.openvpn.devel/10249 Signed-off-by: Gert Doering <gert@greenie.muc.de> (cherry picked from commit c67acea173dc9ee37220f5b9ff14ede081181992)
-rw-r--r--src/openvpn/options.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/openvpn/options.c b/src/openvpn/options.c
index 019ae6c..fc420bf 100644
--- a/src/openvpn/options.c
+++ b/src/openvpn/options.c
@@ -3756,13 +3756,16 @@ static char *
read_inline_file (struct in_src *is, const char *close_tag, struct gc_arena *gc)
{
char line[OPTION_LINE_SIZE];
+ char *line_ptr = line;
struct buffer buf = alloc_buf (8*OPTION_LINE_SIZE);
char *ret;
bool endtagfound = false;
while (in_src_get (is, line, sizeof (line)))
{
- if (!strncmp (line, close_tag, strlen (close_tag)))
+ /* Remove leading spaces */
+ while (isspace(*line_ptr)) line_ptr++;
+ if (!strncmp (line_ptr, close_tag, strlen (close_tag)))
{
endtagfound = true;
break;