From: Lucas De Marchi Date: Thu, 5 Mar 2020 21:33:10 +0000 (-0800) Subject: depmod: do not output .bin to stdout X-Git-Tag: v28~19 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=53b30aeba2dedae9f5558f560231d9462e063dfc;p=thirdparty%2Fkmod.git depmod: do not output .bin to stdout index_write() relies on fseek/ftell to manage the position to which we are write and thus needs the file stream to support it. Right now when trying to write the index to stdout we fail with: depmod: tools/depmod.c:416: index_write: Assertion `initial_offset >= 0' failed. Aborted (core dumped) We have no interest in outputting our index to stdout, so just skip it like is done with other indexes. While at it, add/remove some newlines to improve readability. Reported-by: Yanko Kaneti Fix: b866b2165ae6 ("Lookup aliases in the modules.builtin.modinfo") --- diff --git a/tools/depmod.c b/tools/depmod.c index fbbce10e..875e3148 100644 --- a/tools/depmod.c +++ b/tools/depmod.c @@ -2408,8 +2408,10 @@ static int output_builtin_alias_bin(struct depmod *depmod, FILE *out) struct index_node *idx; struct kmod_list *l, *builtin = NULL; - idx = index_create(); + if (out == stdout) + return 0; + idx = index_create(); if (idx == NULL) { ret = -ENOMEM; goto fail; @@ -2456,7 +2458,9 @@ static int output_builtin_alias_bin(struct depmod *depmod, FILE *out) if (count) index_write(idx, out); + index_destroy(idx); + fail: if (builtin) kmod_module_unref_list(builtin);