summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDerek Jones <derek.jones@ellislab.com>2010-03-29 18:36:42 +0200
committerDerek Jones <derek.jones@ellislab.com>2010-03-29 18:36:42 +0200
commit133e66626bb410571a8350376d3f81ed8bc9143f (patch)
treecba4340c0355f73b63b1a405779621820e883d61
parentd6d70e327b74018ab1cd59185a0dc970cd0711be (diff)
fixed a bug where a PHP error would result when passing objects as values to the Session class
-rw-r--r--system/libraries/Session.php17
-rw-r--r--user_guide/changelog.html1
2 files changed, 14 insertions, 4 deletions
diff --git a/system/libraries/Session.php b/system/libraries/Session.php
index bd9426818..cf6dc96e3 100644
--- a/system/libraries/Session.php
+++ b/system/libraries/Session.php
@@ -680,12 +680,18 @@ class CI_Session {
{
foreach ($data as $key => $val)
{
- $data[$key] = str_replace('\\', '{{slash}}', $val);
+ if (is_string($val))
+ {
+ $data[$key] = str_replace('\\', '{{slash}}', $val);
+ }
}
}
else
{
- $data = str_replace('\\', '{{slash}}', $data);
+ if (is_string($data))
+ {
+ $data = str_replace('\\', '{{slash}}', $data);
+ }
}
return serialize($data);
@@ -711,13 +717,16 @@ class CI_Session {
{
foreach ($data as $key => $val)
{
- $data[$key] = str_replace('{{slash}}', '\\', $val);
+ if (is_string($val))
+ {
+ $data[$key] = str_replace('{{slash}}', '\\', $val);
+ }
}
return $data;
}
- return str_replace('{{slash}}', '\\', $data);
+ return (is_string($data)) ? str_replace('{{slash}}', '\\', $data) : $data;
}
// --------------------------------------------------------------------
diff --git a/user_guide/changelog.html b/user_guide/changelog.html
index 3006de753..dff273d9d 100644
--- a/user_guide/changelog.html
+++ b/user_guide/changelog.html
@@ -153,6 +153,7 @@ Hg Tag: </p>
<li>Fixed a bug (#10470) where <kdb>get_mime_by_extension()</kbd> was case sensitive.</li>
<li>Fixed a bug where some error messages for the SQLite and Oracle drivers would not display.</li>
<li>Fixed a bug where files created with the Zip Library would result in file creation dates of 1980.</li>
+ <li>Fixed a bug in the Session library that would result in PHP error when attempting to store values with objects.</li>
<li>Fixed a bug where extending the Controller class would result in a fatal PHP error.</li>
</ul>