plugin-loader: Disable some logging output when building fuzz targets
authorTobias Brunner <tobias@strongswan.org>
Wed, 3 May 2017 15:55:34 +0000 (17:55 +0200)
committerTobias Brunner <tobias@strongswan.org>
Tue, 23 May 2017 16:29:12 +0000 (18:29 +0200)
This avoids evaluating %N. An alternative would be to define a printf-hook
for plugin features.

src/libstrongswan/plugins/plugin_loader.c

index e78762b..4daf3f1 100644 (file)
@@ -730,9 +730,11 @@ static bool load_dependencies(private_plugin_loader_t *this,
 
                if (!find_compatible_feature(this, &provided->feature[i]))
                {
-                       char *name, *provide, *depend;
                        bool soft = provided->feature[i].kind == FEATURE_SDEPEND;
 
+#ifndef USE_FUZZING
+                       char *name, *provide, *depend;
+
                        name = provided->entry->plugin->get_name(provided->entry->plugin);
                        provide = plugin_feature_get_string(&provided->feature[0]);
                        depend = plugin_feature_get_string(&provided->feature[i]);
@@ -753,6 +755,8 @@ static bool load_dependencies(private_plugin_loader_t *this,
                        }
                        free(provide);
                        free(depend);
+#endif /* !USE_FUZZING */
+
                        if (soft)
                        {       /* it's ok if we can't resolve soft dependencies */
                                continue;
@@ -772,8 +776,6 @@ static void load_feature(private_plugin_loader_t *this,
 {
        if (load_dependencies(this, provided, level))
        {
-               char *name, *provide;
-
                if (plugin_feature_load(provided->entry->plugin, provided->feature,
                                                                provided->reg))
                {
@@ -783,6 +785,9 @@ static void load_feature(private_plugin_loader_t *this,
                        return;
                }
 
+#ifndef USE_FUZZING
+               char *name, *provide;
+
                name = provided->entry->plugin->get_name(provided->entry->plugin);
                provide = plugin_feature_get_string(&provided->feature[0]);
                if (provided->entry->critical)
@@ -796,6 +801,7 @@ static void load_feature(private_plugin_loader_t *this,
                                 provide, name);
                }
                free(provide);
+#endif /* !USE_FUZZING */
        }
        else
        {       /* TODO: we could check the current level and set a different flag when
@@ -815,13 +821,16 @@ static void load_provided(private_plugin_loader_t *this,
                                                  provided_feature_t *provided,
                                                  int level)
 {
-       char *name, *provide;
        int indent = level * 2;
 
        if (provided->loaded || provided->failed)
        {
                return;
        }
+
+#ifndef USE_FUZZING
+       char *name, *provide;
+
        name = provided->entry->plugin->get_name(provided->entry->plugin);
        provide = plugin_feature_get_string(provided->feature);
        if (provided->loading)
@@ -834,6 +843,12 @@ static void load_provided(private_plugin_loader_t *this,
        DBG3(DBG_LIB, "%*sloading feature %s in plugin '%s'",
                 indent, "", provide, name);
        free(provide);
+#else
+       if (provided->loading)
+       {
+               return;
+       }
+#endif /* USE_FUZZING */
 
        provided->loading = TRUE;
        load_feature(this, provided, level + 1);