Tolerate NULL passed to rpmpluginsFree()

- Currently ts->plugins is always allocated but soon it wont,
  and rpm generally permits NULL in fooFree() functions
This commit is contained in:
Panu Matilainen 2013-04-03 14:32:10 +03:00
parent d497ca6d46
commit 02724dca61
1 changed files with 8 additions and 7 deletions

View File

@ -179,14 +179,15 @@ rpmRC rpmpluginsAddPlugin(rpmPlugins plugins, const char *type, const char *name
rpmPlugins rpmpluginsFree(rpmPlugins plugins)
{
int i;
for (i = 0; i < plugins->count; i++) {
rpmPlugin plugin = plugins->plugins[i];
rpmPluginFree(plugin);
if (plugins) {
for (int i = 0; i < plugins->count; i++) {
rpmPlugin plugin = plugins->plugins[i];
rpmPluginFree(plugin);
}
plugins->plugins = _free(plugins->plugins);
plugins->ts = NULL;
_free(plugins);
}
plugins->plugins = _free(plugins->plugins);
plugins->ts = NULL;
_free(plugins);
return NULL;
}