apps/rehash.c:193: error: BUFFER_OVERRUN_L3
  Offset added: [1, 4096] Size: [1, 4096] by call to `add_entry`.
Showing all 14 steps of the trace


apps/rehash.c:160:1: Array declaration
158.    * This can be -1 if bad filename, or an error count.
159.    */
160. > static int handle_symlink(const char *filename, const char *fullpath)
161.   {
162.       unsigned int hash = 0;

apps/rehash.c:193:12: Call
191.       linktarget[n] = 0;
192.   
193.       return add_entry(type, hash, linktarget, NULL, 0, id);
                  ^
194.   }
195.   

apps/rehash.c:92:1: Parameter `filename->strlen`
  90.    * Process an entry; return number of errors.
  91.    */
  92. > static int add_entry(enum Type type, unsigned int hash, const char *filename,
  93.                         const unsigned char *digest, int need_symlink,
  94.                         unsigned short old_id)

apps/rehash.c:138:24: Call
  136.           *ep = nilhentry;
  137.           ep->old_id = ~0;
  138.           ep->filename = OPENSSL_strdup(filename);
                                ^
  139.           if (bp->last_entry)
  140.               bp->last_entry->next = ep;

crypto/o_str.c:28:1: <Offset trace>
26.   }
27.   
28. > char *CRYPTO_strdup(const char *str, const char* file, int line)
29.   {
30.       char *ret;

crypto/o_str.c:28:1: Parameter `str->strlen`
    26.   }
    27.   
    28. > char *CRYPTO_strdup(const char *str, const char* file, int line)
    29.   {
    30.       char *ret;

crypto/o_str.c:35:5: Assignment
    33.       if (str == NULL)
    34.           return NULL;
    35.       size = strlen(str) + 1;
              ^
    36.       ret = CRYPTO_malloc(size, file, line);
    37.       if (ret != NULL)

crypto/o_str.c:28:1: <Length trace>
26.   }
27.   
28. > char *CRYPTO_strdup(const char *str, const char* file, int line)
29.   {
30.       char *ret;

crypto/o_str.c:28:1: Parameter `str->strlen`
    26.   }
    27.   
    28. > char *CRYPTO_strdup(const char *str, const char* file, int line)
    29.   {
    30.       char *ret;

crypto/o_str.c:35:5: Assignment
    33.       if (str == NULL)
    34.           return NULL;
    35.       size = strlen(str) + 1;
              ^
    36.       ret = CRYPTO_malloc(size, file, line);
    37.       if (ret != NULL)

crypto/o_str.c:36:11: Call
    34.           return NULL;
    35.       size = strlen(str) + 1;
    36.       ret = CRYPTO_malloc(size, file, line);
                    ^
    37.       if (ret != NULL)
    38.           memcpy(ret, str, size);

crypto/mem.c:166:9: Assignment
      164.   
      165.       if (num == 0)
      166.           return NULL;
                     ^
      167.   
      168.       FAILTEST();

crypto/o_str.c:36:5: Assignment
    34.           return NULL;
    35.       size = strlen(str) + 1;
    36.       ret = CRYPTO_malloc(size, file, line);
              ^
    37.       if (ret != NULL)
    38.           memcpy(ret, str, size);

crypto/o_str.c:38:9: Array access: Offset added: [1, 4096] Size: [1, 4096] by call to `add_entry` 
    36.       ret = CRYPTO_malloc(size, file, line);
    37.       if (ret != NULL)
    38.           memcpy(ret, str, size);
                  ^
    39.       return ret;
    40.   }
