update_option destroys value / faulty trim
|Reported by:||hakre||Owned by:|
|Component:||Administration||Keywords:||update_option trim has-patch|
When using wordpress option function "update_option" and the value of the option is a string containing trailing spaces (wether in front or at the end), these spaces will be removed. This can destroy the option value since spaces are chars like any other chars in a string. The option value then is saved crippeled into the option system and each time the value is requested again trailing spaces are missing.
The defect is inside the update_option() function on line 281 in functions.php. In line 289 the option value type is checked to be a string and if it is a string, the string value will be trimmed:
if ( is_string($newvalue) ) $newvalue = trim($newvalue);
It is totally unclear why this happens, the sourcecode isn't documented in any way. I applied a diff against the current SVN that removes these two lines of faulty code.
Change History (10)
- Cc westi added
- Resolution fixed deleted
- Status changed from closed to reopened