]> git.ipfire.org Git - thirdparty/freeradius-server.git/commitdiff
Fix json taint test
authorArran Cudbard-Bell <a.cudbardb@freeradius.org>
Tue, 7 Dec 2021 02:51:11 +0000 (21:51 -0500)
committerArran Cudbard-Bell <a.cudbardb@freeradius.org>
Tue, 7 Dec 2021 02:51:11 +0000 (21:51 -0500)
src/lib/json/jpath.c
src/lib/unlang/xlat_eval.c
src/tests/modules/json/eval.unlang

index a312aa940df98cce0e0ad0bee603a0dd873bdc44..1c776dd6210c5f846194d41f0b9b11c039d1cdd0 100644 (file)
@@ -122,7 +122,7 @@ size_t fr_jpath_escape_func(UNUSED request_t *request, char *out, size_t outlen,
        }
        *q = '\0';
 
-       return q - end;
+       return q - out;
 }
 
 /** Recursive function for jpath_expr_evaluate
index 3fbb5f712362af2640f647279a7048625e9ce679..55e512f033d3413faa818c67941a84a2c29f6ac7 100644 (file)
@@ -1425,6 +1425,7 @@ static ssize_t xlat_eval_sync(TALLOC_CTX *ctx, char **out, request_t *request, x
                                entry = vb->entry;
                                fr_value_box_clear_value(vb);
                                fr_value_box_bstrndup(vb, vb, NULL, escaped, real_len, false);
+                               FR_FAULT_LOG("ESCAPED %zu %s", real_len, escaped);
                                vb->entry = entry;
 
                                talloc_free(escaped);
index 53e5954a778c7b0fb961a553804fbf7e4c914aa7..fc9f62d7010847620fd28145c46c7160068714b7 100644 (file)
@@ -434,7 +434,7 @@ update request {
        {\
                \"foo.bar\": \"baz\" \
        }"
-       &Tmp-String-2 := 'foo.bar'
+       &Tmp-String-2 := %{taint:foo.bar}
 }
 map json &Tmp-String-0 {
        &Tmp-String-1 := "$.%{Tmp-String-2}"