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

[HttpFoundation] Check file exists before unlink #29764

Merged
merged 1 commit into from Jan 25, 2019
Merged

[HttpFoundation] Check file exists before unlink #29764

merged 1 commit into from Jan 25, 2019

Conversation

ad-mos
Copy link
Contributor

@ad-mos ad-mos commented Jan 3, 2019

Check file exists to prevent ErrorException

Q A
Branch? 2.6
Bug fix? yes
New feature? no
BC breaks? no
Deprecations? no
Tests pass? yes
Fixed tickets #...
License MIT
Doc PR symfony/symfony-docs#...

@@ -299,8 +299,7 @@ public function sendContent()

fclose($out);
fclose($file);

if ($this->deleteFileAfterSend) {
if ($this->deleteFileAfterSend && file_exists($this->file->getPathname())) {
Copy link
Contributor

Choose a reason for hiding this comment

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

doenst fopen already fail in this case?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

The file can be deleted after fopen() while it is being sent to the user.

Copy link
Contributor

Choose a reason for hiding this comment

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

got ya :)

Copy link
Member

Choose a reason for hiding this comment

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

But the file could also be removed between the calls to file_exists() and unlink(). Maybe it would be better to silence the delete operation instead.

Copy link
Contributor Author

@ad-mos ad-mos Jan 4, 2019

Choose a reason for hiding this comment

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

Downloading is a much longer process than file_exists()

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Also, I do not think that @unlink($this->file->getPathname()); would be a good solution here, it will ignore all errors, and not just 'No such file or directory'.
What else needs to be done for this to be merged ?

@chalasr chalasr added this to the 3.4 milestone Jan 4, 2019
@nicolas-grekas nicolas-grekas changed the title Check file exists before unlink [HttpFoundation] Check file exists before unlink Jan 25, 2019
@nicolas-grekas nicolas-grekas changed the base branch from master to 3.4 January 25, 2019 11:01
@nicolas-grekas
Copy link
Member

Thank you @adam-mospan.

@nicolas-grekas nicolas-grekas merged commit 1954187 into symfony:3.4 Jan 25, 2019
nicolas-grekas added a commit that referenced this pull request Jan 25, 2019
…pan)

This PR was submitted for the master branch but it was squashed and merged into the 3.4 branch instead (closes #29764).

Discussion
----------

[HttpFoundation] Check file exists before unlink

Check file exists to prevent ErrorException

| Q             | A
| ------------- | ---
| Branch?       | 2.6 <!-- see below -->
| Bug fix?      | yes
| New feature?  | no <!-- don't forget to update src/**/CHANGELOG.md files -->
| BC breaks?    | no     <!-- see https://symfony.com/bc -->
| Deprecations? | no <!-- don't forget to update UPGRADE-*.md and src/**/CHANGELOG.md files -->
| Tests pass?   | yes    <!-- please add some, will be required by reviewers -->
| Fixed tickets | #...   <!-- #-prefixed issue number(s), if any -->
| License       | MIT
| Doc PR        | symfony/symfony-docs#... <!-- required for new features -->

<!--
Write a short README entry for your feature/bugfix here (replace this comment block.)
This will help people understand your PR and can be used as a start of the Doc PR.
Additionally:
 - Bug fixes must be submitted against the lowest branch where they apply
   (lowest branches are regularly merged to upper ones so they get the fixes too).
 - Features and deprecations must be submitted against the master branch.
-->

Commits
-------

1954187 [HttpFoundation] Check file exists before unlink
This was referenced Jan 29, 2019
@ad-mos ad-mos deleted the patch-1 branch February 7, 2019 06:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

6 participants