From: Aki Tuomi Date: Wed, 22 Mar 2017 17:33:52 +0000 (+0200) Subject: lib: Check var_expand_long return value correctly X-Git-Tag: 2.3.0.rc1~1890 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=0306a3100b0fd42f00004bb728e2a9039e0a4846;p=thirdparty%2Fdovecot%2Fcore.git lib: Check var_expand_long return value correctly --- diff --git a/src/lib/var-expand.c b/src/lib/var-expand.c index 9ee098dff4..2ba8ebc853 100644 --- a/src/lib/var-expand.c +++ b/src/lib/var-expand.c @@ -217,6 +217,7 @@ var_expand_hash(const struct var_expand_table *table, const char *const *args = NULL; const char *algo = key; const char *value; + int ret; if (p != NULL) { algo = t_strcut(key, ';'); @@ -234,9 +235,9 @@ var_expand_hash(const struct var_expand_table *table, string_t *salt = t_str_new(64); string_t *tmp = t_str_new(method->digest_size); - if (var_expand_long(table, func_table, field, strlen(field), - context, &value, error_r) < 0) - return -1; + if ((ret = var_expand_long(table, func_table, field, strlen(field), + context, &value, error_r)) < 1) + return ret; str_append(field_value, value);