apps/speed.c:1794: error: BUFFER_OVERRUN_L2
  Offset: [-oo, 8257] Size: 8257 by call to `DSA_sign`.
Showing all 21 steps of the trace


apps/speed.c:831:18: Call
829.               break;
830.           case OPT_MISALIGN:
831.               if (!opt_int(opt_arg(), &misalign))
                        ^
832.                   goto end;
833.               if (misalign > MISALIGN) {

apps/opt.c:359:10: Call
  357.       long l;
  358.   
  359.       if (!opt_long(value, &l))
                  ^
  360.           return 0;
  361.       *result = (int)l;

apps/opt.c:371:1: Parameter `*result`
    369.   
    370.   /* Parse a long, put it into *result; return 0 on failure, else 1. */
    371. > int opt_long(const char *value, long *result)
    372.   {
    373.       int oerrno = errno;

apps/speed.c:839:13: Assignment
837.               }
838.               buf = buf_malloc + misalign;
839.               buf2 = buf2_malloc + misalign;
                   ^
840.               break;
841.           case OPT_MR:

apps/speed.c:1794:14: Call
1792.           /* DSA_generate_key(dsa_key[j]); */
1793.           /* DSA_sign_setup(dsa_key[j],NULL); */
1794.           st = DSA_sign(EVP_PKEY_DSA, buf, 20, buf2, &kk, dsa_key[j]);
                     ^
1795.           if (st == 0) {
1796.               BIO_printf(bio_err,

crypto/dsa/dsa_asn1.c:149:1: Parameter `*sig`
  147.   }
  148.   
  149. > int DSA_sign(int type, const unsigned char *dgst, int dlen,
  150.                unsigned char *sig, unsigned int *siglen, DSA *dsa)
  151.   {

crypto/dsa/dsa_asn1.c:159:15: Call
  157.           return (0);
  158.       }
  159.       *siglen = i2d_DSA_SIG(s, &sig);
                       ^
  160.       DSA_SIG_free(s);
  161.       return (1);

crypto/dsa/dsa_asn1.c:91:1: Parameter `**out`
    89.   } static_ASN1_SEQUENCE_END_cb(DSA_SIG, DSA_SIG)
    90.   
    91. > IMPLEMENT_ASN1_FUNCTIONS_const(DSA_SIG)
    92.   
    93.   /* Override the default free and new methods */

crypto/dsa/dsa_asn1.c:91:1: Call
    89.   } static_ASN1_SEQUENCE_END_cb(DSA_SIG, DSA_SIG)
    90.   
    91. > IMPLEMENT_ASN1_FUNCTIONS_const(DSA_SIG)
    92.   
    93.   /* Override the default free and new methods */

crypto/asn1/tasn_enc.c:92:1: Parameter `**out`
      90.   }
      91.   
      92. > int ASN1_item_i2d(ASN1_VALUE *val, unsigned char **out, const ASN1_ITEM *it)
      93.   {
      94.       return asn1_item_flags_i2d(val, out, it, 0);

crypto/asn1/tasn_enc.c:94:12: Call
      92.   int ASN1_item_i2d(ASN1_VALUE *val, unsigned char **out, const ASN1_ITEM *it)
      93.   {
      94.       return asn1_item_flags_i2d(val, out, it, 0);
                       ^
      95.   }
      96.   

crypto/asn1/tasn_enc.c:104:1: Parameter `**out`
        102.    */
        103.   
        104. > static int asn1_item_flags_i2d(ASN1_VALUE *val, unsigned char **out,
        105.                                  const ASN1_ITEM *it, int flags)
        106.   {

crypto/asn1/tasn_enc.c:122:12: Call
        120.       }
        121.   
        122.       return ASN1_item_ex_i2d(&val, out, it, -1, flags);
                          ^
        123.   }
        124.   

crypto/asn1/tasn_enc.c:130:1: Parameter `**out`
          128.    */
          129.   
          130. > int ASN1_item_ex_i2d(ASN1_VALUE **pval, unsigned char **out,
          131.                        const ASN1_ITEM *it, int tag, int aclass)
          132.   {

crypto/asn1/tasn_enc.c:154:16: Call
          152.   
          153.       case ASN1_ITYPE_MSTRING:
          154.           return asn1_i2d_ex_primitive(pval, out, it, -1, aclass);
                                ^
          155.   
          156.       case ASN1_ITYPE_CHOICE:

crypto/asn1/tasn_enc.c:472:1: Parameter `**out`
            470.   }
            471.   
            472. > static int asn1_i2d_ex_primitive(ASN1_VALUE **pval, unsigned char **out,
            473.                                    const ASN1_ITEM *it, int tag, int aclass)
            474.   {

crypto/asn1/tasn_enc.c:517:13: Call
            515.       if (out) {
            516.           if (usetag)
            517.               ASN1_put_object(out, ndef, len, tag, aclass);
                               ^
            518.           asn1_ex_i2c(pval, *out, &utype, it);
            519.           if (ndef)

crypto/asn1/asn1_lib.c:196:1: <Length trace>
194.    * class 0 is constructed constructed == 2 for indefinite length constructed
195.    */
196. > void ASN1_put_object(unsigned char **pp, int constructed, int length, int tag,
197.                        int xclass)
198.   {

crypto/asn1/asn1_lib.c:196:1: Parameter `**pp`
              194.    * class 0 is constructed constructed == 2 for indefinite length constructed
              195.    */
              196. > void ASN1_put_object(unsigned char **pp, int constructed, int length, int tag,
              197.                        int xclass)
              198.   {

crypto/asn1/asn1_lib.c:199:5: Assignment
              197.                        int xclass)
              198.   {
              199.       unsigned char *p = *pp;
                         ^
              200.       int i, ttag;
              201.   

crypto/asn1/asn1_lib.c:205:9: Array access: Offset: [-oo, 8257] Size: 8257 by call to `DSA_sign` 
              203.       i |= (xclass & V_ASN1_PRIVATE);
              204.       if (tag < 31)
              205.           *(p++) = i | (tag & V_ASN1_PRIMITIVE_TAG);
                             ^
              206.       else {
              207.           *(p++) = i | V_ASN1_PRIMITIVE_TAG;
