From a5ca091569e14a4b5f0483d6492629a6d8856604 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?C=C3=B4me=20Bernigaud?= <come.bernigaud@laposte.net>
Date: Mon, 18 Mar 2013 13:44:27 +0100
Subject: [PATCH] Fixes: #2139 Check foreach code

---
 .../services/argonaut/class_argonautFuseConfig.inc       | 9 ++++++++-
 argonaut/include/class_supportDaemon.inc                 | 5 +++++
 board/addons/board/class_boardSystems.inc                | 1 +
 game/addons/game/class_Mission.inc                       | 1 +
 ldapmanager/addons/ldapmanager/class_csvimport.inc       | 1 +
 supann/personal/supann/class_supannAccount.inc           | 3 +++
 systems/admin/groups/apps/class_groupApplication.inc     | 1 +
 systems/admin/systems/class_serverService.inc            | 2 ++
 8 files changed, 22 insertions(+), 1 deletion(-)

diff --git a/argonaut/admin/systems/services/argonaut/class_argonautFuseConfig.inc b/argonaut/admin/systems/services/argonaut/class_argonautFuseConfig.inc
index 424c65621e..57ef33f40d 100644
--- a/argonaut/admin/systems/services/argonaut/class_argonautFuseConfig.inc
+++ b/argonaut/admin/systems/services/argonaut/class_argonautFuseConfig.inc
@@ -128,6 +128,7 @@ class argonautFuseConfig extends simpleService
       $display .= '<p class="seperator plugbottom">&nbsp;</p><div></div>';
       $display .= $plugin->execute();
     }
+    unset($plugin);
 
     return $display.$str;
   }
@@ -141,6 +142,7 @@ class argonautFuseConfig extends simpleService
       foreach ($this->plugin as &$plugin) {
         $plugin->save_object();
       }
+      unset($plugin);
     }
   }
 
@@ -153,6 +155,7 @@ class argonautFuseConfig extends simpleService
         $message = array_merge($message, $plugin->check());
       }
     }
+    unset($plugin);
 
     return $message;
   }
@@ -163,6 +166,7 @@ class argonautFuseConfig extends simpleService
     foreach ($this->plugin as &$plugin) {
       $plugin->set_acl_category($cat);
     }
+    unset($plugin);
   }
 
   function set_acl_base($base)
@@ -171,6 +175,7 @@ class argonautFuseConfig extends simpleService
     foreach ($this->plugin as &$plugin) {
       $plugin->set_acl_base($base);
     }
+    unset($plugin);
   }
 
   /* Save to LDAP */
@@ -187,15 +192,17 @@ class argonautFuseConfig extends simpleService
         $plugin->remove_from_parent();
       }
     }
+    unset($plugin);
   }
 
   function remove_from_parent()
   {
     /* Remove objects */
-    foreach ($this->plugin_name as $name) {
+    foreach ($this->plugin as &$plugin) {
       $plugin->dn = $this->dn;
       $plugin->remove_from_parent();
     }
+    unset($plugin);
     parent::remove_from_parent();
   }
 }
diff --git a/argonaut/include/class_supportDaemon.inc b/argonaut/include/class_supportDaemon.inc
index 8f5193b00e..a98cbf411b 100644
--- a/argonaut/include/class_supportDaemon.inc
+++ b/argonaut/include/class_supportDaemon.inc
@@ -329,6 +329,7 @@ class supportDaemon
 
       $entries_r[] = $entry_r;
     }
+    unset($entries);
     return $entries_r;
   }
 
@@ -669,6 +670,7 @@ class supportDaemon
       foreach ($filters as &$filter) {
         $filter = "^".$this->escape_perl_chars($filter)."$";
       }
+      unset($filter);
     }
     try {
       $client = new jsonRPCClient($this->s_host, $this->http_options);
@@ -684,11 +686,13 @@ class supportDaemon
           foreach ($packages as &$package) {
             $package['DISTRIBUTION'] = $distribution;
           }
+          unset($package);
         }
         if (in_array("SECTION", $attrs)) {
           foreach ($packages as &$package) {
             $package['SECTION'] = $section; // FIXME : do we want to do this? It will replace "contrib/misc by contrib, for instance
           }
+          unset($package);
         }
         $to_return = array_merge($to_return, $packages);
       }
@@ -786,6 +790,7 @@ class supportDaemon
     foreach ($kernels as &$kernel) {
       $kernel = $kernel['PACKAGE'];
     }
+    unset($kernel);
     return $kernels;
   }
 
diff --git a/board/addons/board/class_boardSystems.inc b/board/addons/board/class_boardSystems.inc
index 23f778e8d5..4e10da42c6 100644
--- a/board/addons/board/class_boardSystems.inc
+++ b/board/addons/board/class_boardSystems.inc
@@ -73,6 +73,7 @@ class boardSystems extends simplePlugin
       $ldap->search($stat['filter'], array("cn"));
       $stat['nb'] = $ldap->count();
     }
+    unset($stat);
 
     return $stats;
   }
diff --git a/game/addons/game/class_Mission.inc b/game/addons/game/class_Mission.inc
index 7f0c143864..1ae4ae734b 100644
--- a/game/addons/game/class_Mission.inc
+++ b/game/addons/game/class_Mission.inc
@@ -56,6 +56,7 @@ class Mission
         return FALSE;
       }
     }
+    unset($obj);
     return TRUE;
   }
 
diff --git a/ldapmanager/addons/ldapmanager/class_csvimport.inc b/ldapmanager/addons/ldapmanager/class_csvimport.inc
index 83a591d220..aaf21508b4 100644
--- a/ldapmanager/addons/ldapmanager/class_csvimport.inc
+++ b/ldapmanager/addons/ldapmanager/class_csvimport.inc
@@ -101,6 +101,7 @@ class csvimport extends plugin
         foreach ($attrs as &$attr) {
           $attr = $pname.":".$attr;
         }
+        unset($attr);
         $this->csvinfo['attr']  = array_merge($this->csvinfo['attr'], $attrs);
       }
 
diff --git a/supann/personal/supann/class_supannAccount.inc b/supann/personal/supann/class_supannAccount.inc
index 4dcda5b117..91ab569ae1 100644
--- a/supann/personal/supann/class_supannAccount.inc
+++ b/supann/personal/supann/class_supannAccount.inc
@@ -147,6 +147,7 @@ class SupannCompositeAttribute extends CompositeAttribute
         $values[] = "";
       }
     }
+    unset($attribute);
 
     return $values;
   }
@@ -162,6 +163,7 @@ class SupannCompositeAttribute extends CompositeAttribute
       }
       $i++;
     }
+    unset($attribute);
     return $value;
   }
 
@@ -178,6 +180,7 @@ class SupannCompositeAttribute extends CompositeAttribute
       }
       $values[$shortname][$value] = $value;
     }
+    unset($attribute);
   }
 }
 
diff --git a/systems/admin/groups/apps/class_groupApplication.inc b/systems/admin/groups/apps/class_groupApplication.inc
index 2d05af2265..d5b02a4704 100644
--- a/systems/admin/groups/apps/class_groupApplication.inc
+++ b/systems/admin/groups/apps/class_groupApplication.inc
@@ -1448,6 +1448,7 @@ class appgroup extends plugin
         $entry['STATUS'] = "ADDED";
       }
     }
+    unset($entry);
   }
 
 
diff --git a/systems/admin/systems/class_serverService.inc b/systems/admin/systems/class_serverService.inc
index 2cd085a49f..c6ba07c066 100644
--- a/systems/admin/systems/class_serverService.inc
+++ b/systems/admin/systems/class_serverService.inc
@@ -562,6 +562,7 @@ class ServerService extends management
     foreach ($this->plugins as &$plugin) {
       $plugin->resetCopyInfos();
     }
+    unset($plugin);
   }
 
 
@@ -572,6 +573,7 @@ class ServerService extends management
     foreach ($this->plugins as &$plugin) {
       $plugin->postCopyHook();
     }
+    unset($plugin);
   }
 
 
-- 
GitLab