From: Alan T. DeKok Date: Thu, 5 Sep 2019 22:24:29 +0000 (-0400) Subject: empty strings are OK X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=f90ec23b837f4aed7033609385cc12ae98f48d2d;p=thirdparty%2Ffreeradius-server.git empty strings are OK with tests --- diff --git a/src/lib/server/cond_tokenize.c b/src/lib/server/cond_tokenize.c index ee2cd6dda46..715483ca93f 100644 --- a/src/lib/server/cond_tokenize.c +++ b/src/lib/server/cond_tokenize.c @@ -617,7 +617,7 @@ static ssize_t cond_preparse(char const **out, size_t *outlen, char const *start my_slen = tmpl_preparse(out, outlen, buffer, type, error, castda, require_regex); if (my_slen <= 0) return my_slen; - if (!*out || *outlen == 0) return 0; /* for sanity checks */ + if (!*out) return 0; /* for sanity checks, *outlen can be 0 for empty strings */ /* * 'out' now points to 'buffer', which we don't want. So diff --git a/src/tests/unit/condition.txt b/src/tests/unit/condition.txt index 78f66963f5b..ecfae7b5d43 100644 --- a/src/tests/unit/condition.txt +++ b/src/tests/unit/condition.txt @@ -647,3 +647,10 @@ data &NAS-IP-Address < `/bin/echo 192.168/16` # condition (&reply:) data &reply: + +# +# Expansions of environment variables +# and empty strings +# +condition ("$ENV{SOMETHING_OR_OTHER}" == '') +data true