From e38d3a004195f33c5c04fe7c04db5d66c53241bc Mon Sep 17 00:00:00 2001 From: Antonio Quartulli Date: Sat, 23 Jun 2018 10:11:47 +0800 Subject: [PATCH] add support for %lu in argv_printf and prevent ASSERT %lu is not supported by our tiny argv_printf implementation, therefore it will trigger an ASSERT() when parsing it at route.c:1638. Add support for '%lu' in argv_print() and prevent the ASSERT from being triggered. Signed-off-by: Antonio Quartulli Acked-by: Gert Doering Message-Id: <20180623021147.22792-1-a@unstable.cc> URL: https://www.mail-archive.com/openvpn-devel@lists.sourceforge.net/msg17115.html Signed-off-by: Gert Doering --- src/openvpn/argv.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/openvpn/argv.c b/src/openvpn/argv.c index dec7e3bfa..9100a196c 100644 --- a/src/openvpn/argv.c +++ b/src/openvpn/argv.c @@ -251,6 +251,13 @@ argv_printf_arglist(struct argv *a, const char *format, va_list arglist) openvpn_snprintf(numstr, sizeof(numstr), "%u", va_arg(arglist, unsigned int)); argv_append(a, string_alloc(numstr, NULL)); } + else if (!strcmp(term, "%lu")) + { + char numstr[64]; + openvpn_snprintf(numstr, sizeof(numstr), "%lu", + va_arg(arglist, unsigned long)); + argv_append(a, string_alloc(numstr, NULL)); + } else if (!strcmp(term, "%s/%d")) { char numstr[64]; -- 2.47.2