]> git.ipfire.org Git - thirdparty/freeradius-server.git/commitdiff
No need to escape boxes containing inherently safe data
authorNick Porter <nick@portercomputing.co.uk>
Wed, 17 Jul 2024 07:27:57 +0000 (08:27 +0100)
committerNick Porter <nick@portercomputing.co.uk>
Wed, 17 Jul 2024 08:44:36 +0000 (09:44 +0100)
src/modules/rlm_sql/rlm_sql.c

index 2a90e9280179804e1b4424c061d94db000ba2ad3..587dad2501175f5f699b2c358f353fdcae4c8299 100644 (file)
@@ -348,6 +348,20 @@ static int CC_HINT(nonnull(2,3)) sql_xlat_escape(request_t *request, fr_value_bo
         */
        if (fr_value_box_is_safe_for(vb, inst->driver)) return 0;
 
+       /*
+        *      No need to escape types with inherently safe data
+        */
+       switch (vb->type) {
+       case FR_TYPE_NUMERIC:
+       case FR_TYPE_IP:
+       case FR_TYPE_ETHERNET:
+               fr_value_box_mark_safe_for(vb, inst->driver);
+               return 0;
+
+       default:
+               break;
+       }
+
        if (inst->sql_escape_arg) {
                arg = inst->sql_escape_arg;
        } else if (thread->sql_escape_arg) {