Patch (to be ported)
Project:
Private Upload
Version:
5.x-1.x-dev
Component:
Code
Priority:
Critical
Category:
Bug report
Assigned:
Unassigned
Reporter:
Created:
22 Jun 2009 at 17:02 UTC
Updated:
2 Dec 2010 at 17:59 UTC
Jump to comment: Most recent file
Comments
Comment #1
jody lynnComment #2
jweowu commentedUsing variable_set() is definitely not harmless. It would leave you open to race conditions when multiple requests execute that code simultaneously.
Assuming that the sequence is:
a) store the current setting
b) over-ride with 'private'
c) restore original setting
Then the following could happen:
1. method is 'public'
2. request 1 reads 'public'
3. request 1 writes 'private'
4. request 2 reads 'private'
5. request 2 writes 'private'
6. request 1 restores 'public'
7. request 2 restores 'private'
8. method remains 'private'
Using the global $conf array is correct. It affects the values that variable_get() returns, without writing that value to the database, so it only affects the current request.
Comment #3
jody lynnThanks for the clearer explanation. Setting to 'reviewed'.
Comment #4
jweowu commentedYou might also want to modify the 'HACK' comment accordingly.
Comment #5
jody lynnComment #6
alexgreyhead commentedSeconded - this has broken our site three times today!! :o)
Comment #7
jody lynnComment #8
heavy_engineer commentedAnd there was me thinking i was going mad. This breaks my site every few days or so. Will test the next release.
Comment #9
jody lynnCommitted to the D6 branch.
Needs to be tested for D5 version before being committed to D5.
Comment #10
idmacdonald commentedThis bug makes the 6.x-1.0-rc2 version of the module completely unusable for me. The bug has been fixed in the 6.x-1.x-dev version of the module. I think it would be good to release another stable version of the module soon. I know I prefer to not to run development versions of modules on live sites. And this bug means that the latest 'stable' version of the module is likely to cause major problems for many sites.
Thanks,
-Ian