]> source.dussan.org Git - rspamd.git/commitdiff
Backport fix from libucl.
authorVsevolod Stakhov <vsevolod@highsecure.ru>
Wed, 11 Mar 2015 11:57:17 +0000 (11:57 +0000)
committerVsevolod Stakhov <vsevolod@highsecure.ru>
Wed, 11 Mar 2015 11:57:17 +0000 (11:57 +0000)
contrib/libucl/ucl_util.c

index 41e012bf15bbc669ea462af87df914fcf772dcd5..c409e3f6f00e7e0963b76771ff19795cbcdbd5bb 100644 (file)
@@ -917,6 +917,10 @@ ucl_include_file_single (const unsigned char *data, size_t len,
        }
 
        /* Restore old file vars */
+       if (parser->cur_file) {
+               free (parser->cur_file);
+       }
+
        parser->cur_file = old_curfile;
        DL_FOREACH_SAFE (parser->variables, cur_var, tmp_var) {
                if (strcmp (cur_var->var, "CURDIR") == 0 && old_curdir) {
@@ -938,9 +942,6 @@ ucl_include_file_single (const unsigned char *data, size_t len,
        if (old_curdir) {
                DL_APPEND (parser->variables, old_curdir);
        }
-       if (old_curfile) {
-               free (old_curfile);
-       }
 
        parser->state = prev_state;