Reset registration function for each plugin during feature loading
authorMartin Willi <martin@revosec.ch>
Thu, 13 Oct 2011 14:09:38 +0000 (16:09 +0200)
committerMartin Willi <martin@revosec.ch>
Fri, 14 Oct 2011 08:05:49 +0000 (10:05 +0200)
src/libstrongswan/plugins/plugin_loader.c

index 994e4df..b97a5f3 100644 (file)
@@ -331,7 +331,7 @@ static bool dependency_required(private_plugin_loader_t *this,
 static int load_features(private_plugin_loader_t *this, bool soft, bool report)
 {
        enumerator_t *enumerator;
 static int load_features(private_plugin_loader_t *this, bool soft, bool report)
 {
        enumerator_t *enumerator;
-       plugin_feature_t *feature, *reg = NULL;
+       plugin_feature_t *feature, *reg;
        plugin_entry_t *entry;
        int count, i, loaded = 0;
 
        plugin_entry_t *entry;
        int count, i, loaded = 0;
 
@@ -342,6 +342,7 @@ static int load_features(private_plugin_loader_t *this, bool soft, bool report)
                {       /* feature interface not supported */
                        continue;
                }
                {       /* feature interface not supported */
                        continue;
                }
+               reg = NULL;
                count = entry->plugin->get_features(entry->plugin, &feature);
                for (i = 0; i < count; i++)
                {
                count = entry->plugin->get_features(entry->plugin, &feature);
                for (i = 0; i < count; i++)
                {