[PATCH] segfault-on-invalid-mtime fix
- From: Enrico Weigelt <weigelt metux de>
- To: midnight commander devel <mc-devel gnome org>
- Subject: [PATCH] segfault-on-invalid-mtime fix
- Date: Fri, 26 Dec 2008 03:23:35 +0100
--
---------------------------------------------------------------------
Enrico Weigelt == metux IT service - http://www.metux.de/
---------------------------------------------------------------------
Please visit the OpenSource QM Taskforce:
http://wiki.metux.de/public/OpenSource_QM_Taskforce
Patches / Fixes for a lot dozens of packages in dozens of versions:
http://patches.metux.de/
---------------------------------------------------------------------
#
# Invalid timestamps on files caused mc to segfault by passing a null
# pointer to strftime. Avoid trying to print the time in this case.
#
# Source: Gentoo Portage
# Reference: mc-4.6.1
# Reported-By: Maxim Britov <maxim office modum by>
# Reported-Bug: http://bugs.gentoo.org/184296
# Submit-By: Enrico Weigelt, metux IT service <weigelt metux de>
# Submit-Date: 2008-12-26
# State: new
#
diff -ruN mc-4.6.1.orig/src/util.c mc-4.6.1/src/util.c
--- mc-4.6.1.orig/src/util.c 2008-12-26 02:19:54.000000000 +0100
+++ mc-4.6.1/src/util.c 2008-12-26 03:13:13.000000000 +0100
@@ -717,6 +717,7 @@
static size_t i18n_timelength = 0;
static const char *fmtyear, *fmttime;
const char *fmt;
+ struct tm *whentm;
if (i18n_timelength == 0){
i18n_timelength = i18n_checktimelength() + 1;
@@ -740,7 +741,11 @@
else
fmt = fmttime;
- strftime (timebuf, i18n_timelength, fmt, localtime(&when));
+ whentm = localtime(&when);
+ if (whentm == NULL)
+ return "(invalid)";
+
+ strftime (timebuf, i18n_timelength, fmt, whentm);
return timebuf;
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]