Index: content.module
===================================================================
--- content.module
+++ content.module
@@ -172,15 +172,17 @@
  * its own loading. This can make for a number of queries in some cases, so we
  * cache the loaded object structure and invalidate it during the update process.
  */
 function content_load(&$node) {
   $cid = 'content:'. $node->nid .':'. $node->vid;
   if ($cached = cache_get($cid, 'cache_content')) {
-    $extra = unserialize($cached->data);
-    foreach ($extra as $key => $value) {
-      $node->$key = $value;
+    $extra = $cached->data;
+    if (is_array($extra)) {
+      foreach ($extra as $key => $value) {
+        $node->$key = $value;
+      }
     }
     return $extra;
   }
   else {
     $default_additions = _content_field_invoke_default('load', $node);
     if ($default_additions) {
@@ -191,13 +193,13 @@
     $additions = _content_field_invoke('load', $node);
     if ($additions) {
       foreach ($additions as $key => $value) {
         $default_additions[$key] = $value;
       }
     }
-    cache_set($cid, 'cache_content', serialize($default_additions));
+    cache_set($cid, 'cache_content', $default_additions);
     return $default_additions;
   }
 }
 
 /**
  * Create fields' form for a content type.
@@ -755,13 +757,13 @@
  */
 function _content_type_info($reset = FALSE) {
   static $info;
 
   if ($reset || !isset($info)) {
     if ($cached = cache_get('content_type_info', 'cache_content')) {
-      $info = unserialize($cached->data);
+      $info = $cached->data;
     }
     else {
       $info = array(
         'field types' => array(),
         'widget types' => array(),
         'fields' => array(),
@@ -845,13 +847,13 @@
           $field['display_settings'] = $field['display_settings'] ? unserialize($field['display_settings']) : array();
           $type['fields'][$field['field_name']] = $field;
         }
         $info['content types'][$type['type']] = $type;
       }
 
-      cache_set('content_type_info', 'cache_content', serialize($info));
+      cache_set('content_type_info', 'cache_content', $info);
     }
   }
   return $info;
 }
 
 /**

Index: fieldgroup.module
===================================================================
--- sites/all/modules/cck/fieldgroup.module	(revision 120)
+++ sites/all/modules/cck/fieldgroup.module	(working copy)
@@ -234,7 +234,7 @@
 
   if (!isset($groups) || $reset) {
     if ($cached = cache_get('fieldgroup_data', 'cache_content')) {
-      $data = unserialize($cached->data);
+      $data = $cached->data;
       $groups = $data['groups'];
       $groups_sorted = $data['groups_sorted'];
     }
@@ -256,7 +256,7 @@
       while ($field = db_fetch_array($result)) {
         $groups[$field['type_name']][$field['group_name']]['fields'][$field['field_name']] = $field;
       }
-      cache_set('fieldgroup_data', 'cache_content', serialize(array('groups' => $groups, 'groups_sorted' => $groups_sorted)));
+      cache_set('fieldgroup_data', 'cache_content', array('groups' => $groups, 'groups_sorted' => $groups_sorted));
     }
   }
 
@@ -665,4 +665,4 @@
   $types = fieldgroup_groups(NULL, FALSE, FALSE);
   $type = $types[$conf['type_name']][$conf['group']];
   return t('"@s" fieldgroup @name', array('@s' => $context->identifier, '@name' => $type['label']));
-}
\ No newline at end of file
+}
