From: Sam Ravnborg Date: Sat, 18 Feb 2006 23:49:37 +0000 (+0100) Subject: kbuild: do not segfault in modpost if MODVERDIR is not defined X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=41370d3b5ec6401c5cf0df82297ed989c03a64bd;p=GitHub%2FLineageOS%2Fandroid_kernel_samsung_universal7580.git 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 --- diff --git a/scripts/mod/sumversion.c b/scripts/mod/sumversion.c index 5c0754526a2..8a2875689e4 100644 --- a/scripts/mod/sumversion.c +++ b/scripts/mod/sumversion.c @@ -381,8 +381,11 @@ void get_src_version(const char *modname, char sum[], unsigned sumlen) struct md4_ctx md; char *sources, *end, *fname; const char *basename; - char filelist[strlen(getenv("MODVERDIR")) + strlen("/") + - strlen(modname) - strlen(".o") + strlen(".mod") + 1 ]; + char filelist[PATH_MAX + 1]; + char *modverdir = getenv("MODVERDIR"); + + if (!modverdir) + modverdir = "."; /* Source files for module are in .tmp_versions/modname.mod, after the first line. */ @@ -390,7 +393,7 @@ void get_src_version(const char *modname, char sum[], unsigned sumlen) basename = strrchr(modname, '/') + 1; else basename = modname; - sprintf(filelist, "%s/%.*s.mod", getenv("MODVERDIR"), + sprintf(filelist, "%s/%.*s.mod", modverdir, (int) strlen(basename) - 2, basename); file = grab_file(filelist, &len);