Red Hat Bugzilla – Bug 891938
[conman] conmand fails to start up when timezone set to GMT-1, WARST, EASST & others
Last modified: 2013-11-21 17:02:39 EST
Description of problem: As noted in https://code.google.com/p/conman/issues/detail?id=16 conman fails to start up on some timezones. Version-Release number of selected component (if applicable): conman-0.2.5-2.4.el6 How reproducible: Easy Steps to Reproduce: 1. /usr/share/zoneinfo/Etc/GMT-1 used for /etc/localtime 2. startup of command fails NB: informed customer to switch to Europe/Vienna as workaround. Actual results: conman startup notices in log: NOTICE: Starting ConMan daemon 0.2.5 (pid 86513) INFO: Open file limit set to 1024 ERROR: strftime() failed Expected results: expected conman deamon to function Additional info: The problem is create_long_time_string(time_t t) has const int len set to 25, when it should be 29 (or higher) to deal with all known current timezone codes. Recommend it be set to 32 to provide an engineering margin. in util_str.c: {code} char * create_long_time_string(time_t t) { char *p; struct tm tm; const int len = 25; /* YYYY-MM-DD HH:MM:SS ZONE + NUL */ if (!(p = malloc(len))) { out_of_memory(); } get_localtime(&t, &tm); if (strftime(p, len, "%Y-%m-%d %H:%M:%S %Z", &tm) == 0) { log_err(0, "strftime() failed"); } return(p); } {code}
NB: https://code.google.com/p/conman/issues/detail?id=16 the fix accepted by the author was to change const int len = 25 to 32.
Created attachment 700004 [details] Proposed patch Test build with this patch was successful: https://brewweb.devel.redhat.com/taskinfo?taskID=5425688
Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. http://rhn.redhat.com/errata/RHBA-2013-1677.html