Flawfinder version 2.0.10, (C) 2001-2019 David A. Wheeler.
Number of rules (primarily dangerous function names) in C/C++ ruleset: 223
Examining data/python-ncls-0.0.57+ds/ncls/src/cgraph.c
Examining data/python-ncls-0.0.57+ds/ncls/src/cgraph.h
Examining data/python-ncls-0.0.57+ds/ncls/src/default.h
Examining data/python-ncls-0.0.57+ds/ncls/src/fintervaldb.c
Examining data/python-ncls-0.0.57+ds/ncls/src/fintervaldb.h
Examining data/python-ncls-0.0.57+ds/ncls/src/intervaldb.c
Examining data/python-ncls-0.0.57+ds/ncls/src/intervaldb.h
Examining data/python-ncls-0.0.57+ds/ncls/src/intervaldb32.c
Examining data/python-ncls-0.0.57+ds/ncls/src/intervaldb32.h
Examining data/python-ncls-0.0.57+ds/ncls/src/utarray.h

FINAL RESULTS:

data/python-ncls-0.0.57+ds/ncls/src/default.h:57:5:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
    sprintf(errstr,"%s, line %d: *** invalid memory request: %s[%d].\n",\
data/python-ncls-0.0.57+ds/ncls/src/default.h:64:5:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
    sprintf(errstr,"%s, line %d: memory request failed: %s[%d].\n",\
data/python-ncls-0.0.57+ds/ncls/src/default.h:74:5:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
    sprintf(errstr,"%s, line %d: *** invalid memory request: %s[%d].\n",\
data/python-ncls-0.0.57+ds/ncls/src/default.h:83:7:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
      sprintf(errstr,"%s, line %d: memory request failed: %s[%d].\n",\
data/python-ncls-0.0.57+ds/ncls/src/fintervaldb.c:761:3:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
  sprintf(path,"%s.subhead",filestem); /* SAVE THE SUBHEADER LIST */
data/python-ncls-0.0.57+ds/ncls/src/fintervaldb.c:764:5:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
    sprintf(err_msg,"unable to open file %s for writing",path);
data/python-ncls-0.0.57+ds/ncls/src/fintervaldb.c:767:3:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
  sprintf(path,"%s.idb",filestem); /* SAVE THE DATABASE */
data/python-ncls-0.0.57+ds/ncls/src/fintervaldb.c:770:5:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
    sprintf(err_msg,"unable to open file %s for writing",path);
data/python-ncls-0.0.57+ds/ncls/src/fintervaldb.c:788:3:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
  sprintf(path,"%s.index",filestem); /* SAVE THE COMPACTED INDEX */
data/python-ncls-0.0.57+ds/ncls/src/fintervaldb.c:791:5:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
    sprintf(err_msg,"unable to open file %s for writing",path);
data/python-ncls-0.0.57+ds/ncls/src/fintervaldb.c:800:3:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
  sprintf(path,"%s.size",filestem); /* SAVE BASIC SIZE INFO*/
data/python-ncls-0.0.57+ds/ncls/src/fintervaldb.c:803:5:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
    sprintf(err_msg,"unable to open file %s for writing",path);
data/python-ncls-0.0.57+ds/ncls/src/fintervaldb.c:824:3:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
  sprintf(path,"%s.size",filestem); /* READ BASIC SIZE INFO*/
data/python-ncls-0.0.57+ds/ncls/src/fintervaldb.c:828:7:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
      sprintf(err_msg,"unable to open file %s",path);
data/python-ncls-0.0.57+ds/ncls/src/fintervaldb.c:836:5:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
    sprintf(path,"%s.index",filestem); /* READ THE COMPACTED INDEX */
data/python-ncls-0.0.57+ds/ncls/src/fintervaldb.c:840:9:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
        sprintf(err_msg,"unable to open file %s",path);
data/python-ncls-0.0.57+ds/ncls/src/fintervaldb.c:849:5:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
    sprintf(path,"%s.subhead",filestem); /* SAVE THE SUBHEADER LIST */
data/python-ncls-0.0.57+ds/ncls/src/fintervaldb.c:853:9:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
        sprintf(err_msg,"unable to open file %s",path);
data/python-ncls-0.0.57+ds/ncls/src/fintervaldb.c:878:3:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
  sprintf(path,"%s.idb",filestem); /* OPEN THE DATABASE */
data/python-ncls-0.0.57+ds/ncls/src/fintervaldb.c:882:7:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
      sprintf(err_msg,"unable to open file %s",path);
data/python-ncls-0.0.57+ds/ncls/src/intervaldb.c:785:3:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
  sprintf(path,"%s.subhead",filestem); /* SAVE THE SUBHEADER LIST */
data/python-ncls-0.0.57+ds/ncls/src/intervaldb.c:788:5:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
    sprintf(err_msg,"unable to open file %s for writing",path);
data/python-ncls-0.0.57+ds/ncls/src/intervaldb.c:791:3:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
  sprintf(path,"%s.idb",filestem); /* SAVE THE DATABASE */
data/python-ncls-0.0.57+ds/ncls/src/intervaldb.c:794:5:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
    sprintf(err_msg,"unable to open file %s for writing",path);
data/python-ncls-0.0.57+ds/ncls/src/intervaldb.c:812:3:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
  sprintf(path,"%s.index",filestem); /* SAVE THE COMPACTED INDEX */
data/python-ncls-0.0.57+ds/ncls/src/intervaldb.c:815:5:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
    sprintf(err_msg,"unable to open file %s for writing",path);
data/python-ncls-0.0.57+ds/ncls/src/intervaldb.c:824:3:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
  sprintf(path,"%s.size",filestem); /* SAVE BASIC SIZE INFO*/
data/python-ncls-0.0.57+ds/ncls/src/intervaldb.c:827:5:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
    sprintf(err_msg,"unable to open file %s for writing",path);
data/python-ncls-0.0.57+ds/ncls/src/intervaldb.c:848:3:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
  sprintf(path,"%s.size",filestem); /* READ BASIC SIZE INFO*/
data/python-ncls-0.0.57+ds/ncls/src/intervaldb.c:852:7:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
      sprintf(err_msg,"unable to open file %s",path);
data/python-ncls-0.0.57+ds/ncls/src/intervaldb.c:860:5:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
    sprintf(path,"%s.index",filestem); /* READ THE COMPACTED INDEX */
data/python-ncls-0.0.57+ds/ncls/src/intervaldb.c:864:9:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
        sprintf(err_msg,"unable to open file %s",path);
data/python-ncls-0.0.57+ds/ncls/src/intervaldb.c:873:5:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
    sprintf(path,"%s.subhead",filestem); /* SAVE THE SUBHEADER LIST */
data/python-ncls-0.0.57+ds/ncls/src/intervaldb.c:877:9:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
        sprintf(err_msg,"unable to open file %s",path);
data/python-ncls-0.0.57+ds/ncls/src/intervaldb.c:902:3:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
  sprintf(path,"%s.idb",filestem); /* OPEN THE DATABASE */
data/python-ncls-0.0.57+ds/ncls/src/intervaldb.c:906:7:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
      sprintf(err_msg,"unable to open file %s",path);
data/python-ncls-0.0.57+ds/ncls/src/default.h:56:5:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    char errstr[1024]; \
data/python-ncls-0.0.57+ds/ncls/src/default.h:63:5:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    char errstr[1024]; \
data/python-ncls-0.0.57+ds/ncls/src/default.h:73:5:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    char errstr[1024]; \
data/python-ncls-0.0.57+ds/ncls/src/default.h:82:7:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
      char errstr[1024]; \
data/python-ncls-0.0.57+ds/ncls/src/fintervaldb.c:257:7:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
      memcpy(imsub+i,im+j,sizeof(IntervalMap)); /* COPY INTERVAL */
data/python-ncls-0.0.57+ds/ncls/src/fintervaldb.c:269:11:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
          memcpy(im+j,im+i,sizeof(IntervalMap));
data/python-ncls-0.0.57+ds/ncls/src/fintervaldb.c:273:5:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
    memcpy(im+j,imsub,nsub*sizeof(IntervalMap)); /* COPY THE SUBLISTS */
data/python-ncls-0.0.57+ds/ncls/src/fintervaldb.c:435:7:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
      memcpy(buf+ibuf,im + it->i,sizeof(IntervalMap)); /*SAVE THIS HIT TO BUFFER */
data/python-ncls-0.0.57+ds/ncls/src/fintervaldb.c:619:9:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
        memcpy(buf+ibuf,it->im + it->i,sizeof(IntervalMap)); /*SAVE THIS HIT */
data/python-ncls-0.0.57+ds/ncls/src/fintervaldb.c:687:7:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
      memcpy(sub_pack+j,subheader+i,sizeof(SublistHeader));
data/python-ncls-0.0.57+ds/ncls/src/fintervaldb.c:694:7:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
      memcpy(sub_pack+j,subheader+i,sizeof(SublistHeader));
data/python-ncls-0.0.57+ds/ncls/src/fintervaldb.c:702:3:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
  memcpy(subheader,sub_pack,nlists*sizeof(SublistHeader)); /* SAVE REORDERED LIST*/
data/python-ncls-0.0.57+ds/ncls/src/fintervaldb.c:750:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char path[2048];
data/python-ncls-0.0.57+ds/ncls/src/fintervaldb.c:753:10:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  static char err_msg[1024];
data/python-ncls-0.0.57+ds/ncls/src/fintervaldb.c:758:5:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    sprintf(err_msg,"unable to malloc %d subheaders",nlists);
data/python-ncls-0.0.57+ds/ncls/src/fintervaldb.c:762:19:  [2] (misc) fopen:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
  ifile_subheader=fopen(path,"wb"); /* binary file */
data/python-ncls-0.0.57+ds/ncls/src/fintervaldb.c:768:9:  [2] (misc) fopen:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
  ifile=fopen(path,"wb"); /* binary file */
data/python-ncls-0.0.57+ds/ncls/src/fintervaldb.c:789:9:  [2] (misc) fopen:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
  ifile=fopen(path,"wb"); /* binary file */
data/python-ncls-0.0.57+ds/ncls/src/fintervaldb.c:801:9:  [2] (misc) fopen:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
  ifile=fopen(path,"w"); /* text file */
data/python-ncls-0.0.57+ds/ncls/src/fintervaldb.c:818:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char path[2048];
data/python-ncls-0.0.57+ds/ncls/src/fintervaldb.c:825:9:  [2] (misc) fopen:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
  ifile=fopen(path,"r"); /* text file */
data/python-ncls-0.0.57+ds/ncls/src/fintervaldb.c:837:11:  [2] (misc) fopen:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
    ifile=fopen(path,"rb"); /* binary file */
data/python-ncls-0.0.57+ds/ncls/src/fintervaldb.c:850:11:  [2] (misc) fopen:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
    ifile=fopen(path,"rb"); /* binary file */
data/python-ncls-0.0.57+ds/ncls/src/fintervaldb.c:879:23:  [2] (misc) fopen:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
  idb_file->ifile_idb=fopen(path,"rb"); /* binary file */
data/python-ncls-0.0.57+ds/ncls/src/fintervaldb.c:1218:7:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
      memcpy(buf+nfound, im + start_stack[sp], sizeof(IntervalMap)); /*SAVE THIS HIT TO BUFFER */
data/python-ncls-0.0.57+ds/ncls/src/intervaldb.c:281:7:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
      memcpy(imsub+i,im+j,sizeof(IntervalMap)); /* COPY INTERVAL */
data/python-ncls-0.0.57+ds/ncls/src/intervaldb.c:293:11:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
          memcpy(im+j,im+i,sizeof(IntervalMap));
data/python-ncls-0.0.57+ds/ncls/src/intervaldb.c:297:5:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
    memcpy(im+j,imsub,nsub*sizeof(IntervalMap)); /* COPY THE SUBLISTS */
data/python-ncls-0.0.57+ds/ncls/src/intervaldb.c:459:7:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
      memcpy(buf+ibuf,im + it->i,sizeof(IntervalMap)); /*SAVE THIS HIT TO BUFFER */
data/python-ncls-0.0.57+ds/ncls/src/intervaldb.c:643:9:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
        memcpy(buf+ibuf,it->im + it->i,sizeof(IntervalMap)); /*SAVE THIS HIT */
data/python-ncls-0.0.57+ds/ncls/src/intervaldb.c:711:7:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
      memcpy(sub_pack+j,subheader+i,sizeof(SublistHeader));
data/python-ncls-0.0.57+ds/ncls/src/intervaldb.c:718:7:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
      memcpy(sub_pack+j,subheader+i,sizeof(SublistHeader));
data/python-ncls-0.0.57+ds/ncls/src/intervaldb.c:726:3:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
  memcpy(subheader,sub_pack,nlists*sizeof(SublistHeader)); /* SAVE REORDERED LIST*/
data/python-ncls-0.0.57+ds/ncls/src/intervaldb.c:774:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char path[2048];
data/python-ncls-0.0.57+ds/ncls/src/intervaldb.c:777:10:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  static char err_msg[1024];
data/python-ncls-0.0.57+ds/ncls/src/intervaldb.c:782:5:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
    sprintf(err_msg,"unable to malloc %d subheaders",nlists);
data/python-ncls-0.0.57+ds/ncls/src/intervaldb.c:786:19:  [2] (misc) fopen:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
  ifile_subheader=fopen(path,"wb"); /* binary file */
data/python-ncls-0.0.57+ds/ncls/src/intervaldb.c:792:9:  [2] (misc) fopen:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
  ifile=fopen(path,"wb"); /* binary file */
data/python-ncls-0.0.57+ds/ncls/src/intervaldb.c:813:9:  [2] (misc) fopen:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
  ifile=fopen(path,"wb"); /* binary file */
data/python-ncls-0.0.57+ds/ncls/src/intervaldb.c:825:9:  [2] (misc) fopen:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
  ifile=fopen(path,"w"); /* text file */
data/python-ncls-0.0.57+ds/ncls/src/intervaldb.c:842:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
  char path[2048];
data/python-ncls-0.0.57+ds/ncls/src/intervaldb.c:849:9:  [2] (misc) fopen:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
  ifile=fopen(path,"r"); /* text file */
data/python-ncls-0.0.57+ds/ncls/src/intervaldb.c:861:11:  [2] (misc) fopen:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
    ifile=fopen(path,"rb"); /* binary file */
data/python-ncls-0.0.57+ds/ncls/src/intervaldb.c:874:11:  [2] (misc) fopen:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
    ifile=fopen(path,"rb"); /* binary file */
data/python-ncls-0.0.57+ds/ncls/src/intervaldb.c:903:23:  [2] (misc) fopen:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
  idb_file->ifile_idb=fopen(path,"rb"); /* binary file */
data/python-ncls-0.0.57+ds/ncls/src/intervaldb.c:1242:7:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
      memcpy(buf+nfound, im + start_stack[sp], sizeof(IntervalMap)); /*SAVE THIS HIT TO BUFFER */
data/python-ncls-0.0.57+ds/ncls/src/intervaldb32.c:116:7:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
      memcpy(imsub+i,im+j,sizeof(IntervalMap)); /* COPY INTERVAL */
data/python-ncls-0.0.57+ds/ncls/src/intervaldb32.c:128:11:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
          memcpy(im+j,im+i,sizeof(IntervalMap));
data/python-ncls-0.0.57+ds/ncls/src/intervaldb32.c:132:5:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
    memcpy(im+j,imsub,nsub*sizeof(IntervalMap)); /* COPY THE SUBLISTS */
data/python-ncls-0.0.57+ds/ncls/src/intervaldb32.c:270:7:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
      memcpy(buf+ibuf,im + it->i,sizeof(IntervalMap)); /*SAVE THIS HIT TO BUFFER */

ANALYSIS SUMMARY:

Hits = 86
Lines analyzed = 3847 in approximately 0.14 seconds (27763 lines/second)
Physical Source Lines of Code (SLOC) = 2412
Hits@level = [0]  20 [1]   0 [2]  50 [3]   0 [4]  36 [5]   0
Hits@level+ = [0+] 106 [1+]  86 [2+]  86 [3+]  36 [4+]  36 [5+]   0
Hits/KSLOC@level+ = [0+] 43.9469 [1+] 35.6551 [2+] 35.6551 [3+] 14.9254 [4+] 14.9254 [5+]   0
Dot directories skipped = 1 (--followdotdir overrides)
Minimum risk level = 1
Not every hit is necessarily a security vulnerability.
There may be other security vulnerabilities; review your code!
See 'Secure Programming HOWTO'
(https://dwheeler.com/secure-programs) for more information.