test/ct_test.c:523: error: BUFFER_OVERRUN_L1
  Offset: [-oo, -1] Size: 1 by call to `SCT_new_from_base64`.
Showing all 10 steps of the trace


test/ct_test.c:511:1: Array declaration
509.   }
510.   
511. > static int test_encode_tls_sct()
512.   {
513.       const char log_id[] = "3xwuwRUAlFJHqWFoMl3cXHlZ6PfG04j8AC4LvT9012Q=";

test/ct_test.c:523:11: Call
521.   
522.       fixture.sct_list = sk_SCT_new_null();
523.       sct = SCT_new_from_base64(SCT_VERSION_V1, log_id,
                 ^
524.                                 CT_LOG_ENTRY_TYPE_X509, timestamp,
525.                                 extensions, signature);

crypto/ct/ct_b64.c:60:1: Parameter `*extensions_base64`
  58.   }
  59.   
  60. > SCT *SCT_new_from_base64(unsigned char version, const char *logid_base64,
  61.                            ct_log_entry_type_t entry_type, uint64_t timestamp,
  62.                            const char *extensions_base64,

crypto/ct/ct_b64.c:93:14: Call
  91.       dec = NULL;
  92.   
  93.       declen = ct_base64_decode(extensions_base64, &dec);
                     ^
  94.       if (declen < 0) {
  95.           CTerr(CT_F_SCT_NEW_FROM_BASE64, X509_R_BASE64_DECODE_ERROR);

crypto/ct/ct_b64.c:24:1: <Offset trace>
22.    * the caller. Do not provide a pre-allocated string in |out|.
23.    */
24. > static int ct_base64_decode(const char *in, unsigned char **out)
25.   {
26.       size_t inlen = strlen(in);

crypto/ct/ct_b64.c:24:1: Parameter `in->strlen`
    22.    * the caller. Do not provide a pre-allocated string in |out|.
    23.    */
    24. > static int ct_base64_decode(const char *in, unsigned char **out)
    25.   {
    26.       size_t inlen = strlen(in);

crypto/ct/ct_b64.c:26:5: Assignment
    24.   static int ct_base64_decode(const char *in, unsigned char **out)
    25.   {
    26.       size_t inlen = strlen(in);
              ^
    27.       int outlen;
    28.       unsigned char *outbuf = NULL;

crypto/ct/ct_b64.c:24:1: <Length trace>
22.    * the caller. Do not provide a pre-allocated string in |out|.
23.    */
24. > static int ct_base64_decode(const char *in, unsigned char **out)
25.   {
26.       size_t inlen = strlen(in);

crypto/ct/ct_b64.c:24:1: Parameter `*in`
    22.    * the caller. Do not provide a pre-allocated string in |out|.
    23.    */
    24. > static int ct_base64_decode(const char *in, unsigned char **out)
    25.   {
    26.       size_t inlen = strlen(in);

crypto/ct/ct_b64.c:49:12: Array access: Offset: [-oo, -1] Size: 1 by call to `SCT_new_from_base64` 
    47.   
    48.       /* Subtract padding bytes from |outlen| */
    49.       while (in[--inlen] == '=') {
                     ^
    50.           --outlen;
    51.       }
