]> source.dussan.org Git - rspamd.git/commitdiff
[Minor] Libucl: Backport fixes
authorVsevolod Stakhov <vsevolod@highsecure.ru>
Fri, 17 Apr 2020 09:37:50 +0000 (10:37 +0100)
committerVsevolod Stakhov <vsevolod@highsecure.ru>
Fri, 17 Apr 2020 09:37:50 +0000 (10:37 +0100)
contrib/libucl/ucl_parser.c

index b048f426a38aa43433f9a783ce64ed273d9bbc19..5b5681863a083a03b5d5e6deed1c2bad525a052a 100644 (file)
@@ -461,12 +461,15 @@ ucl_expand_single_variable (struct ucl_parser *parser, const char *ptr,
        }
        if (!found) {
                if (strict && parser->var_handler != NULL) {
-                       if (parser->var_handler (ptr, remain, &dst, &dstlen, &need_free,
+                       if (parser->var_handler (p, remain, &dst, &dstlen, &need_free,
                                                        parser->var_data)) {
                                memcpy (d, dst, dstlen);
-                               ret += dstlen;
-                               d += remain;
+                               ret += remain;
+                               d += dstlen;
                                found = true;
+                               if (need_free) {
+                                       free (dst);
+                               }
                        }
                }