From: Arne Schwabe Date: Mon, 29 Jun 2015 12:46:35 +0000 (+0200) Subject: Report missing end-tags of inline files as errors X-Git-Tag: v2.4_alpha1~279 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=68eecf76978a80bd5d88e944e4ed5e42bf2fd8e4;p=thirdparty%2Fopenvpn.git Report missing end-tags of inline files as errors (2.3 reports as warning only, 2.4 reports as M_FATAL) trac #568 Acked-by: Gert Doering Message-Id: <1435581995-11820-1-git-send-email-arne@rfc2549.org> URL: http://article.gmane.org/gmane.network.openvpn.devel/9830 Signed-off-by: Gert Doering --- diff --git a/src/openvpn/options.c b/src/openvpn/options.c index 74276d453..4165ec7d2 100644 --- a/src/openvpn/options.c +++ b/src/openvpn/options.c @@ -3703,10 +3703,15 @@ read_inline_file (struct in_src *is, const char *close_tag, struct gc_arena *gc) char line[OPTION_LINE_SIZE]; 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))) - break; + { + endtagfound = true; + break; + } if (!buf_safe (&buf, strlen(line))) { /* Increase buffer size */ @@ -3718,6 +3723,8 @@ read_inline_file (struct in_src *is, const char *close_tag, struct gc_arena *gc) } buf_printf (&buf, "%s", line); } + if (!endtagfound) + msg (M_FATAL, "ERROR: Endtag %s missing", close_tag); ret = string_alloc (BSTR (&buf), gc); buf_clear (&buf); free_buf (&buf);