buildroot/package/python-django/0001-Fixed-sensitive_variab...

46 lines
1.8 KiB
Diff

From d294b7679f2cb51c7231d6a7fb22e76eb74e49ec Mon Sep 17 00:00:00 2001
From: Mariusz Felisiak <felisiak.mariusz@gmail.com>
Date: Sat, 17 Feb 2024 08:15:59 +0100
Subject: [PATCH] Fixed #35187 -- Fixed
@sensitive_variables/sensitive_post_parameters decorators crash with
.pyc-only builds.
Thanks Jon Janzen for the implementation idea.
Thanks Marcus Hoffmann for the report.
Regression in 38e391e95fe5258bc6d2467332dc9cd44ce6ba52.
Backport of d1be05b3e9209fd0787841c71a95819d81061187 from main
Signed-off-by: Marcus Hoffmann <buildroot@bubu1.eu>
Upstream: https://github.com/django/django/commit/41a4bba817f139f3cfd94f04e728e046560c9a18
---
django/views/decorators/debug.py | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/django/views/decorators/debug.py b/django/views/decorators/debug.py
index 7ea8a540de..6540fc0651 100644
--- a/django/views/decorators/debug.py
+++ b/django/views/decorators/debug.py
@@ -47,7 +47,6 @@ def sensitive_variables(*variables):
try:
file_path = inspect.getfile(wrapped_func)
- _, first_file_line = inspect.getsourcelines(wrapped_func)
except TypeError: # Raises for builtins or native functions.
raise ValueError(
f"{func.__name__} cannot safely be wrapped by "
@@ -55,7 +54,8 @@ def sensitive_variables(*variables):
"Python file (not a builtin or from a native extension)."
)
else:
- key = hash(f"{file_path}:{first_file_line}")
+ first_line_number = wrapped_func.__code__.co_firstlineno
+ key = hash(f"{file_path}:{first_line_number}")
if variables:
coroutine_functions_to_sensitive_variables[key] = variables
--
2.34.1