kbuild: do not segfault in modpost if MODVERDIR is not defined
A combination of calling modpost with option -a and MODVERDIR undefined caused segmentation fault. So provide a default value and accept the error messages it generates instead. Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
This commit is contained in:
parent
9d6e7a709c
commit
41370d3b5e
@ -381,8 +381,11 @@ void get_src_version(const char *modname, char sum[], unsigned sumlen)
|
|||||||
struct md4_ctx md;
|
struct md4_ctx md;
|
||||||
char *sources, *end, *fname;
|
char *sources, *end, *fname;
|
||||||
const char *basename;
|
const char *basename;
|
||||||
char filelist[strlen(getenv("MODVERDIR")) + strlen("/") +
|
char filelist[PATH_MAX + 1];
|
||||||
strlen(modname) - strlen(".o") + strlen(".mod") + 1 ];
|
char *modverdir = getenv("MODVERDIR");
|
||||||
|
|
||||||
|
if (!modverdir)
|
||||||
|
modverdir = ".";
|
||||||
|
|
||||||
/* Source files for module are in .tmp_versions/modname.mod,
|
/* Source files for module are in .tmp_versions/modname.mod,
|
||||||
after the first line. */
|
after the first line. */
|
||||||
@ -390,7 +393,7 @@ void get_src_version(const char *modname, char sum[], unsigned sumlen)
|
|||||||
basename = strrchr(modname, '/') + 1;
|
basename = strrchr(modname, '/') + 1;
|
||||||
else
|
else
|
||||||
basename = modname;
|
basename = modname;
|
||||||
sprintf(filelist, "%s/%.*s.mod", getenv("MODVERDIR"),
|
sprintf(filelist, "%s/%.*s.mod", modverdir,
|
||||||
(int) strlen(basename) - 2, basename);
|
(int) strlen(basename) - 2, basename);
|
||||||
|
|
||||||
file = grab_file(filelist, &len);
|
file = grab_file(filelist, &len);
|
||||||
|
Loading…
Reference in New Issue
Block a user