<!DOCTYPE html>
<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <p><font face="monospace">correction, the bug is also in RHEL 9 with
      </font><font face="monospace"> gcc version 11.4.1</font></p>
    <p><font face="monospace">Just make all from fresh git clone, and
        run<br>
      </font><font face="monospace">./zdump -c 1880,2010 -v
        Europe/London Africa/Johannesburg</font></p>
    <p><font face="monospace"><br>
      </font></p>
    <div class="moz-cite-prefix">On 24.11.23 16:19, Alois Treindl via tz
      wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:c777e385-082f-4ce3-b075-288fdbfb023f@astro.ch">
      <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
      <p><font face="monospace">I can demonstrate the bug. <br>
          Please try</font></p>
      <p><font face="monospace">zdump -c 1880,2010 -v Europe/London
          Africa/Johannesburg<br>
          in gdb debugger</font></p>
      <p><font face="monospace">b tzload</font></p>
      <p><font face="monospace">it stops 3 times. <br>
          I let it run tzloadbody.</font></p>
      <p><font face="monospace">Once it loaded Johannesburg, I look at
          structure st</font></p>
      <p><font face="monospace">p *sp<br>
          $1 = {leapcnt = 0, timecnt = 6, typecnt = 5, charcnt = 9,
          goback = false, <font color="#ff2600">goahead = true</font>, 
          ...</font></p>
      <p><font face="monospace">The goahead=true is incorrect.</font></p>
      <p><font face="monospace">It should be </font><font
          face="monospace" color="#ff2600">goahead=false</font></p>
      <p><font face="monospace">This happens only when I load several
          zones, i.e. Johannesburg after London.</font></p>
      <p><font face="monospace">None of the compile options like
          -std=c99 or -std=gnu11 fixes that issue on my RHEL 7 compiler
          gcc version 4.8.5.</font></p>
      <p><font face="monospace">I also tried compiler </font><font
          face="monospace">gcc version 9.3.1, same problem.</font></p>
      <p><font face="monospace">When I compile on RHEL 9 with gcc
          version 11.4.1 the problem does not appear. <br>
          it gives goahead=false</font></p>
      <p><font face="monospace">The patch memset(&ls, 0,
          sizeof(ls)); fixes the issue for </font><font
          face="monospace">gcc version 4.8.5 and </font><font
          face="monospace">gcc version 9.3.1.</font></p>
      <p><font face="monospace"><br>
        </font></p>
      <p><font face="monospace"><br>
        </font></p>
      <div class="moz-cite-prefix">On 23.11.23 19:32, Alois Treindl via
        tz wrote:<br>
      </div>
      <blockquote type="cite"
        cite="mid:6b01f610-ddb9-45e8-b6e3-2db90d3819d1@astro.ch">
        <meta http-equiv="content-type"
          content="text/html; charset=UTF-8">
        <p>I have observed occasional crashes in localtime.c in the
          current github version.</p>
        <p>In one of my applications, localtime() is called multiple
          times for several zones.</p>
        <p>The condition when the segmentation fault appears are herd to
          reproduce or demonstrate.</p>
        <p>This patch in function tzload() however solves the issue:</p>
        <p>--- localtime.c    2023-11-16 20:18:01.904577574 +0100<br>
          +++ a/localtime.c    2023-11-23 19:22:21.062249899 +0100<br>
          @@ -769,6 +769,7 @@<br>
             }<br>
           #else<br>
             union local_storage ls;<br>
          +  memset(&ls, 0, sizeof(ls));<br>
             return tzloadbody(name, sp, doextend, &ls);<br>
           #endif<br>
           }<br>
        </p>
      </blockquote>
    </blockquote>
  </body>
</html>