Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

FIX: Replaced mktemp usage for PY2 with Python 3 ones. #394

Merged
merged 1 commit into from
Nov 5, 2023

Conversation

fazledyn-or
Copy link
Contributor

Issue: #393

Details

In file: heap.py, there is a method that creates a temporary file using an unsafe API mktemp. The use of this method is discouraged in the Python documentation. iCR suggested that a temporary file should be created using mkstemp which is a safe API. iCR replaced the usage of mktemp with mkstemp.

The changes are made to the part relevant to Python 2.0 for backward compatibility. However, in case of a full shift to Python 3.8+, the following code can be omitted-

else:
    self.fd, name = tempfile.mkstemp(
        prefix='pym-%d-' % (os.getpid(),),
        dir=util.get_temp_dir(),
    )
    os.unlink(name)
    util.Finalize(self, os.close, (self.fd,))
    os.ftruncate(self.fd, size)

CLA Requirements:

This section is only relevant if your project requires contributors to sign a Contributor License Agreement (CLA) for external contributions.

All contributed commits are already automatically signed off.

The meaning of a signoff depends on the project, but it typically certifies that committer has the rights to submit this work under the same license and agrees to a Developer Certificate of Origin (see https://developercertificate.org/ for more information).

Sponsorship and Support:

This work is done by the security researchers from OpenRefactory and is supported by the Open Source Security Foundation (OpenSSF): Project Alpha-Omega. Alpha-Omega is a project partnering with open source software project maintainers to systematically find new, as-yet-undiscovered vulnerabilities in open source code - and get them fixed – to improve global software supply chain security.

The bug is found by running the Intelligent Code Repair (iCR) tool by OpenRefactory and then manually triaging the results.

Copy link
Member

@auvipy auvipy left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

looks good

@auvipy auvipy changed the title FIX: Replaced mktemp usage for PY2 FIX: Replaced mktemp usage for PY2 with Python 3 ones. Nov 5, 2023
@auvipy auvipy merged commit ddb2858 into celery:main Nov 5, 2023
6 of 7 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants