<div dir="auto"><div dir="auto">I'm compiling verify.c as a monolith from 1.1.1g.</div><div dir="auto"><br></div><div dir="auto">Using gcc 4.8.5 I have no problems.</div><div dir="auto"><br></div><div dir="auto">Using gcc 4.3.4 I get a warning which we treat as an error:</div><div dir="auto"><br></div><div dir="auto"><p style="font-family:sans-serif;font-size:12.8px">gcc -c -Wall -Werror -Wextra -idirafter ../../inc -idirafter ../../../../OPENSSL/include/SUSE-Linux -DMONOLITH -DNO_ASN1_OLD -DLINUX -o ../../obj/verify.o ../../src/verify.c<u></u><u></u></p><p style="font-family:sans-serif;font-size:12.8px">cc1: warnings being treated as errors<u></u><u></u></p><p style="font-family:sans-serif;font-size:12.8px">../../src/verify.c:64: error: missing initializer<u></u><u></u></p><p style="font-family:sans-serif;font-size:12.8px">../../src/verify.c:64: error: (near initialization for ‘verify_options[45].retval’)<u></u><u></u></p><p style="font-family:sans-serif;font-size:12.8px"><u></u> </p><p style="font-family:sans-serif;font-size:12.8px">I found the source of my problem and created a fix that I could toggle when testing with different compilers. The fix compiles cleanly with both gcc compilers mentioned above. </p><p style="font-family:sans-serif;font-size:12.8px">I have not tried it with Visual Studio yet.</p><p style="font-family:sans-serif;font-size:12.8px"><br></p><p style="font-family:sans-serif;font-size:12.8px">const OPTIONS verify_options[] = {<u></u><u></u></p><p style="font-family:sans-serif;font-size:12.8px">    {OPT_HELP_STR, 1, '-', "Usage: %s [options] cert.pem...\n"},<u></u><u></u></p><p style="font-family:sans-serif;font-size:12.8px">    {OPT_HELP_STR, 1, '-', "Valid options are:\n"},<u></u><u></u></p><p style="font-family:sans-serif;font-size:12.8px">    {"help", OPT_HELP, '-', "Display this summary"},<u></u><u></u></p><p style="font-family:sans-serif;font-size:12.8px">    {"verbose", OPT_VERBOSE, '-',<u></u><u></u></p><p style="font-family:sans-serif;font-size:12.8px">        "Print extra information about the operations being performed."},<u></u><u></u></p><p style="font-family:sans-serif;font-size:12.8px">    {"CApath", OPT_CAPATH, '/', "A directory of trusted certificates"},<u></u><u></u></p><p style="font-family:sans-serif;font-size:12.8px">    {"CAfile", OPT_CAFILE, '<', "A file of trusted certificates"},<u></u><u></u></p><p style="font-family:sans-serif;font-size:12.8px">    {"no-CAfile", OPT_NOCAFILE, '-',<u></u><u></u></p><p style="font-family:sans-serif;font-size:12.8px">     "Do not load the default certificates file"},<u></u><u></u></p><p style="font-family:sans-serif;font-size:12.8px">    {"no-CApath", OPT_NOCAPATH, '-',<u></u><u></u></p><p style="font-family:sans-serif;font-size:12.8px">     "Do not load certificates from the default certificates directory"},<u></u><u></u></p><p style="font-family:sans-serif;font-size:12.8px">    {"untrusted", OPT_UNTRUSTED, '<', "A file of untrusted certificates"},<u></u><u></u></p><p style="font-family:sans-serif;font-size:12.8px">    {"trusted", OPT_TRUSTED, '<', "A file of trusted certificates"},<u></u><u></u></p><p style="font-family:sans-serif;font-size:12.8px">    {"CRLfile", OPT_CRLFILE, '<',<u></u><u></u></p><p style="font-family:sans-serif;font-size:12.8px">        "File containing one or more CRL's (in PEM format) to load"},<u></u><u></u></p><p style="font-family:sans-serif;font-size:12.8px">    {"crl_download", OPT_CRL_DOWNLOAD, '-',<u></u><u></u></p><p style="font-family:sans-serif;font-size:12.8px">        "Attempt to download CRL information for this certificate"},<u></u><u></u></p><p style="font-family:sans-serif;font-size:12.8px">    {"show_chain", OPT_SHOW_CHAIN, '-',<u></u><u></u></p><p style="font-family:sans-serif;font-size:12.8px">        "Display information about the certificate chain"},<u></u><u></u></p><p style="font-family:sans-serif;font-size:12.8px">    {"nameopt", OPT_NAMEOPT, 's', "Various certificate name options"},<u></u><u></u></p><p style="font-family:sans-serif;font-size:12.8px">    OPT_V_OPTIONS,<u></u><u></u></p><p style="font-family:sans-serif;font-size:12.8px">#ifndef OPENSSL_NO_ENGINE<u></u><u></u></p><p style="font-family:sans-serif;font-size:12.8px">    {"engine", OPT_ENGINE, 's', "Use engine, possibly a hardware device"},<u></u><u></u></p><p style="font-family:sans-serif;font-size:12.8px">#endif<span style="color:red"><u></u><u></u></span></p><p style="font-family:sans-serif;font-size:12.8px">#if 0<u></u><u></u></p><p style="font-family:sans-serif;font-size:12.8px">    <span style="background:yellow">{NULL, -1, 'Q', "unused end of list"}</span><span style="color:rgb(31,73,125)"> </span><span style="color:red">this is the change I’d like to offer<u></u><u></u></span></p><p style="font-family:sans-serif;font-size:12.8px">#else<u></u><u></u></p><p style="font-family:sans-serif;font-size:12.8px">    {<span style="background:yellow">NULL</span>}<span style="color:rgb(31,73,125)"> </span><span style="color:red">this is the current code<u></u><u></u></span></p><p style="font-family:sans-serif;font-size:12.8px">#endif<u></u><u></u></p><p style="font-family:sans-serif;font-size:12.8px">};</p><p style="font-family:sans-serif;font-size:12.8px"><br></p><p style="font-family:sans-serif;font-size:12.8px">Questions</p><p style="font-family:sans-serif;font-size:12.8px">1. Is the fix valid?</p><p style="font-family:sans-serif;font-size:12.8px">2.  If fix is valid, what are the chances of getting the change accepted?</p><p style="font-family:sans-serif;font-size:12.8px">Thanks</p><p style="font-family:sans-serif;font-size:12.8px">Mike</p></div></div>