Fix a security issue with the cert provided in a gcc packet

This patch ensure that a gcc packet does not contain more than 32 certificates
as it's the size array that will store them. Most probably having more than
32 certificates means that it's an attack.

As exercise, 3 lines later before calling d2i_X509() the remaining bytes in the
stream should be checked.

No sure a CVE is needed for that fix.
Integration of gcc security issue from hardening
Merge branch 'future' into hardening-gcc_fix