Leaklens

django__django-13410

Bug in posix implementation of django/core/files/locks.py

Verdict: the issue text repeats lines of the gold patch (Tier C).

I believe the correct implementation should be the following: diff --git a/django/core/files/locks.py b/django/core/files/locks.py index c46b00b905..4938347ea7 100644 --- a/django/core/files/locks.py +++ b/django/core/files/locks.py @@ -107,9 +107,15 @@ else: return True else: def lock(f, flags): - ret = fcntl.flock(_fd(f), flags) - return ret == 0 + try: + fcntl.flock(_fd(f), flags) + return True + except OSError: + return False def unlock(f): - ret = fcntl.flock(_fd(f), fcntl.LOCK_UN) - return ret == 0 + try: + fcntl.flock(_fd(f), fcntl.LOCK_UN) + return True + except OSError: + return False

2 of 3 added patch lines appear in the issue or discussion.

All SWE-bench Verified tasks · more django/django tasks · How the check works