@@ -150,3 +150,40 @@ def get(self, request): # $ requestHandler
150150urlpatterns = [
151151 path ("UnknownViewSubclass/" , UnknownViewSubclass .as_view ()), # $ routeSetup="UnknownViewSubclass/"
152152]
153+
154+ ################################################################################
155+ # Routing to *args and **kwargs
156+ ################################################################################
157+
158+ def kwargs_param (request , ** kwargs ): # $ requestHandler routedParameter=kwargs
159+ ensure_tainted (
160+ kwargs , # $ tainted
161+ kwargs ["foo" ], # $ tainted
162+ kwargs ["bar" ] # $ tainted
163+ )
164+
165+ ensure_tainted (request ) # $ tainted
166+
167+
168+ def star_args_param (request , * args ): # $ requestHandler MISSING: routedParameter=args
169+ ensure_tainted (
170+ args , # $ MISSING: tainted
171+ args [0 ], # $ MISSING: tainted
172+ args [1 ], # $ MISSING: tainted
173+ )
174+ ensure_tainted (request ) # $ tainted
175+
176+
177+ def star_args_param_check (request , foo , bar ): # $ requestHandler routedParameter=foo routedParameter=bar
178+ ensure_tainted (
179+ foo , # $ tainted
180+ bar , # $ tainted
181+ )
182+ ensure_tainted (request ) # $ tainted
183+
184+
185+ urlpatterns = [
186+ path ("test-kwargs_param/<foo>/<bar>" , kwargs_param ), # $ routeSetup="test-kwargs_param/<foo>/<bar>"
187+ re_path ("test-star_args_param/([^/]+)/(.+)" , star_args_param ), # $ routeSetup="test-star_args_param/([^/]+)/(.+)"
188+ re_path ("test-star_args_param_check/([^/]+)/(.+)" , star_args_param_check ), # $ routeSetup="test-star_args_param_check/([^/]+)/(.+)"
189+ ]
0 commit comments