From: Lucas De Marchi Date: Fri, 18 Dec 2020 16:02:07 +0000 (-0800) Subject: depmod: unconditionally write builtin.alias.bin X-Git-Tag: v28~5 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=220b4c55ec219d6a9e10fc343df4691fbe5339b1;p=thirdparty%2Fkmod.git depmod: unconditionally write builtin.alias.bin 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 --- diff --git a/tools/depmod.c b/tools/depmod.c index 2c03dfe7..3f31cdfb 100644 --- a/tools/depmod.c +++ b/tools/depmod.c @@ -2419,7 +2419,7 @@ static int output_builtin_alias_bin(struct depmod *depmod, FILE *out) if (ret < 0) { if (ret == -ENOENT) ret = 0; - goto fail; + goto out; } kmod_list_foreach(l, builtin) { @@ -2429,7 +2429,7 @@ static int output_builtin_alias_bin(struct depmod *depmod, FILE *out) 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]; @@ -2454,9 +2454,11 @@ static int output_builtin_alias_bin(struct depmod *depmod, FILE *out) 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);