crypto/o_str.c:303: error: BUFFER_OVERRUN_L3
  Offset: [-1, +oo] (⇐ [0, +oo] + -1) Size: [1, +oo].
Showing all 7 steps of the trace


crypto/o_str.c:286:1: <Length trace>
284.    * on EBCDIC machines)
285.    */
286. > char *OPENSSL_buf2hexstr(const unsigned char *buffer, long len)
287.   {
288.       const static char hexdig[] = "0123456789ABCDEF";

crypto/o_str.c:286:1: Parameter `len`
284.    * on EBCDIC machines)
285.    */
286. > char *OPENSSL_buf2hexstr(const unsigned char *buffer, long len)
287.   {
288.       const static char hexdig[] = "0123456789ABCDEF";

crypto/o_str.c:293:16: Call
291.       int i;
292.   
293.       if ((tmp = OPENSSL_malloc(len * 3 + 1)) == NULL) {
                      ^
294.           CRYPTOerr(CRYPTO_F_OPENSSL_BUF2HEXSTR, ERR_R_MALLOC_FAILURE);
295.           return NULL;

crypto/mem.c:127:9: Assignment
  125.   
  126.       if (num <= 0)
  127.           return NULL;
                 ^
  128.   
  129.       allow_customize = 0;

crypto/o_str.c:293:10: Assignment
291.       int i;
292.   
293.       if ((tmp = OPENSSL_malloc(len * 3 + 1)) == NULL) {
                ^
294.           CRYPTOerr(CRYPTO_F_OPENSSL_BUF2HEXSTR, ERR_R_MALLOC_FAILURE);
295.           return NULL;

crypto/o_str.c:297:5: Assignment
295.           return NULL;
296.       }
297.       q = tmp;
           ^
298.       for (i = 0, p = buffer; i < len; i++, p++) {
299.           *q++ = hexdig[(*p >> 4) & 0xf];

crypto/o_str.c:303:5: Array access: Offset: [-1, +oo] (⇐ [0, +oo] + -1) Size: [1, +oo]
301.           *q++ = ':';
302.       }
303.       q[-1] = 0;
           ^
304.   #ifdef CHARSET_EBCDIC
305.       ebcdic2ascii(tmp, tmp, q - tmp - 1);
