The file is always created and unless we return an error, the temporary
file is renamed to its final destination. All other places write the
index without checking if the index is empty, so just do the same.
Reported-by: Joe Buehler <aspam@cox.net>
if (ret < 0) {
if (ret == -ENOENT)
ret = 0;
- goto fail;
+ goto out;
}
kmod_list_foreach(l, builtin) {
ret = kmod_module_get_info(mod, &info_list);
if (ret < 0)
- goto fail;
+ goto out;
kmod_list_foreach(ll, info_list) {
char alias[PATH_MAX];
count++;
}
- if (count)
+out:
+ /* do not bother writing the index if we are going to discard it */
+ if (!ret)
index_write(idx, out);
-fail:
+
if (builtin)
kmod_module_unref_list(builtin);