← Commit list

68ffb9a85

Mike Frysinger
Mike Frysinger
2006-12-30
FAILED Duration: 3s

Subject

make sure AUTOCONF_TIMESTAMP is filled up properly ... if user has a timezone of Factory for example, strftime() will overflow the string and leave us without a trailing "\n and all hell breaks loose when we compile

Binary

No binary (build failed)

Architecture & Compiler Flags

Architecture: x86_64-linux-gnu Compiler: gcc (Ubuntu 11.4.0-1ubuntu1~22.04.3) 11.4.0

—

Build Log

(log yok)

Commit Diff GitHub →

scripts/kconfig/confdata.c+12 -3
@@ -395,9 +395,18 @@ int conf_write(const char *name)
char buf[sizeof("#define AUTOCONF_TIMESTAMP "
"\"YYYY-MM-DD HH:MM:SS some_timezone\"\n")];
buf[0] = '\0';
- if (use_timestamp)
- strftime(buf, sizeof(buf), "#define AUTOCONF_TIMESTAMP "
- "\"%Y-%m-%d %H:%M:%S %Z\"\n", localtime(&now));
+ if (use_timestamp) {
+ size_t ret = \
+ strftime(buf, sizeof(buf), "#define AUTOCONF_TIMESTAMP "
+ "\"%Y-%m-%d %H:%M:%S %Z\"\n", localtime(&now));
+ /* if user has Factory timezone or some other odd install, the
+ * %Z above will overflow the string leaving us with undefined
+ * results ... so let's try again without the timezone.
+ */
+ if (ret == 0)
+ strftime(buf, sizeof(buf), "#define AUTOCONF_TIMESTAMP "
+ "\"%Y-%m-%d %H:%M:%S\"\n", localtime(&now));
+ }
fprintf(out_h, "/*\n"
" * Automatically generated C config: don't edit\n"
" * Linux kernel version: %s\n"