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/qhull-2020.2/src/libqhull/geom.c
Examining data/qhull-2020.2/src/libqhull/geom.h
Examining data/qhull-2020.2/src/libqhull/geom2.c
Examining data/qhull-2020.2/src/libqhull/global.c
Examining data/qhull-2020.2/src/libqhull/io.h
Examining data/qhull-2020.2/src/libqhull/libqhull.c
Examining data/qhull-2020.2/src/libqhull/libqhull.h
Examining data/qhull-2020.2/src/libqhull/mem.c
Examining data/qhull-2020.2/src/libqhull/mem.h
Examining data/qhull-2020.2/src/libqhull/merge.c
Examining data/qhull-2020.2/src/libqhull/merge.h
Examining data/qhull-2020.2/src/libqhull/poly.c
Examining data/qhull-2020.2/src/libqhull/poly.h
Examining data/qhull-2020.2/src/libqhull/poly2.c
Examining data/qhull-2020.2/src/libqhull/qhull_a.h
Examining data/qhull-2020.2/src/libqhull/qset.c
Examining data/qhull-2020.2/src/libqhull/qset.h
Examining data/qhull-2020.2/src/libqhull/random.c
Examining data/qhull-2020.2/src/libqhull/random.h
Examining data/qhull-2020.2/src/libqhull/rboxlib.c
Examining data/qhull-2020.2/src/libqhull/stat.c
Examining data/qhull-2020.2/src/libqhull/stat.h
Examining data/qhull-2020.2/src/libqhull/user.c
Examining data/qhull-2020.2/src/libqhull/user.h
Examining data/qhull-2020.2/src/libqhull/usermem.c
Examining data/qhull-2020.2/src/libqhull/userprintf.c
Examining data/qhull-2020.2/src/libqhull/userprintf_rbox.c
Examining data/qhull-2020.2/src/libqhull/io.c
Examining data/qhull-2020.2/src/libqhullcpp/Coordinates.cpp
Examining data/qhull-2020.2/src/libqhullcpp/Coordinates.h
Examining data/qhull-2020.2/src/libqhullcpp/functionObjects.h
Examining data/qhull-2020.2/src/libqhullcpp/PointCoordinates.cpp
Examining data/qhull-2020.2/src/libqhullcpp/PointCoordinates.h
Examining data/qhull-2020.2/src/libqhullcpp/Qhull.cpp
Examining data/qhull-2020.2/src/libqhullcpp/Qhull.h
Examining data/qhull-2020.2/src/libqhullcpp/QhullError.h
Examining data/qhull-2020.2/src/libqhullcpp/QhullFacet.cpp
Examining data/qhull-2020.2/src/libqhullcpp/QhullFacet.h
Examining data/qhull-2020.2/src/libqhullcpp/QhullFacetList.cpp
Examining data/qhull-2020.2/src/libqhullcpp/QhullFacetList.h
Examining data/qhull-2020.2/src/libqhullcpp/QhullFacetSet.cpp
Examining data/qhull-2020.2/src/libqhullcpp/QhullFacetSet.h
Examining data/qhull-2020.2/src/libqhullcpp/QhullHyperplane.cpp
Examining data/qhull-2020.2/src/libqhullcpp/QhullHyperplane.h
Examining data/qhull-2020.2/src/libqhullcpp/QhullIterator.h
Examining data/qhull-2020.2/src/libqhullcpp/QhullLinkedList.h
Examining data/qhull-2020.2/src/libqhullcpp/QhullPoint.cpp
Examining data/qhull-2020.2/src/libqhullcpp/QhullPoint.h
Examining data/qhull-2020.2/src/libqhullcpp/QhullPoints.cpp
Examining data/qhull-2020.2/src/libqhullcpp/QhullPoints.h
Examining data/qhull-2020.2/src/libqhullcpp/QhullPointSet.cpp
Examining data/qhull-2020.2/src/libqhullcpp/QhullPointSet.h
Examining data/qhull-2020.2/src/libqhullcpp/QhullQh.cpp
Examining data/qhull-2020.2/src/libqhullcpp/QhullQh.h
Examining data/qhull-2020.2/src/libqhullcpp/QhullRidge.cpp
Examining data/qhull-2020.2/src/libqhullcpp/QhullRidge.h
Examining data/qhull-2020.2/src/libqhullcpp/QhullSet.cpp
Examining data/qhull-2020.2/src/libqhullcpp/QhullSet.h
Examining data/qhull-2020.2/src/libqhullcpp/QhullSets.h
Examining data/qhull-2020.2/src/libqhullcpp/QhullStat.cpp
Examining data/qhull-2020.2/src/libqhullcpp/QhullStat.h
Examining data/qhull-2020.2/src/libqhullcpp/QhullUser.cpp
Examining data/qhull-2020.2/src/libqhullcpp/QhullUser.h
Examining data/qhull-2020.2/src/libqhullcpp/QhullVertex.cpp
Examining data/qhull-2020.2/src/libqhullcpp/QhullVertex.h
Examining data/qhull-2020.2/src/libqhullcpp/QhullVertexSet.cpp
Examining data/qhull-2020.2/src/libqhullcpp/QhullVertexSet.h
Examining data/qhull-2020.2/src/libqhullcpp/qt-qhull.cpp
Examining data/qhull-2020.2/src/libqhullcpp/RboxPoints.cpp
Examining data/qhull-2020.2/src/libqhullcpp/RboxPoints.h
Examining data/qhull-2020.2/src/libqhullcpp/RoadError.cpp
Examining data/qhull-2020.2/src/libqhullcpp/RoadError.h
Examining data/qhull-2020.2/src/libqhullcpp/RoadLogEvent.cpp
Examining data/qhull-2020.2/src/libqhullcpp/RoadLogEvent.h
Examining data/qhull-2020.2/src/libqhullcpp/usermem_r-cpp.cpp
Examining data/qhull-2020.2/src/libqhull_r/geom2_r.c
Examining data/qhull-2020.2/src/libqhull_r/geom_r.c
Examining data/qhull-2020.2/src/libqhull_r/geom_r.h
Examining data/qhull-2020.2/src/libqhull_r/global_r.c
Examining data/qhull-2020.2/src/libqhull_r/io_r.h
Examining data/qhull-2020.2/src/libqhull_r/libqhull_r.c
Examining data/qhull-2020.2/src/libqhull_r/libqhull_r.h
Examining data/qhull-2020.2/src/libqhull_r/mem_r.c
Examining data/qhull-2020.2/src/libqhull_r/mem_r.h
Examining data/qhull-2020.2/src/libqhull_r/merge_r.c
Examining data/qhull-2020.2/src/libqhull_r/merge_r.h
Examining data/qhull-2020.2/src/libqhull_r/poly2_r.c
Examining data/qhull-2020.2/src/libqhull_r/poly_r.c
Examining data/qhull-2020.2/src/libqhull_r/poly_r.h
Examining data/qhull-2020.2/src/libqhull_r/qhull_ra.h
Examining data/qhull-2020.2/src/libqhull_r/qset_r.c
Examining data/qhull-2020.2/src/libqhull_r/qset_r.h
Examining data/qhull-2020.2/src/libqhull_r/random_r.c
Examining data/qhull-2020.2/src/libqhull_r/random_r.h
Examining data/qhull-2020.2/src/libqhull_r/rboxlib_r.c
Examining data/qhull-2020.2/src/libqhull_r/stat_r.c
Examining data/qhull-2020.2/src/libqhull_r/stat_r.h
Examining data/qhull-2020.2/src/libqhull_r/usermem_r.c
Examining data/qhull-2020.2/src/libqhull_r/userprintf_r.c
Examining data/qhull-2020.2/src/libqhull_r/userprintf_rbox_r.c
Examining data/qhull-2020.2/src/libqhull_r/user_r.c
Examining data/qhull-2020.2/src/libqhull_r/user_r.h
Examining data/qhull-2020.2/src/libqhull_r/io_r.c
Examining data/qhull-2020.2/src/qconvex/qconvex.c
Examining data/qhull-2020.2/src/qconvex/qconvex_r.c
Examining data/qhull-2020.2/src/qdelaunay/qdelaun.c
Examining data/qhull-2020.2/src/qdelaunay/qdelaun_r.c
Examining data/qhull-2020.2/src/qhalf/qhalf.c
Examining data/qhull-2020.2/src/qhalf/qhalf_r.c
Examining data/qhull-2020.2/src/qhull/unix.c
Examining data/qhull-2020.2/src/qhull/unix_r.c
Examining data/qhull-2020.2/src/qhulltest/Coordinates_test.cpp
Examining data/qhull-2020.2/src/qhulltest/PointCoordinates_test.cpp
Examining data/qhull-2020.2/src/qhulltest/QhullFacetList_test.cpp
Examining data/qhull-2020.2/src/qhulltest/QhullFacetSet_test.cpp
Examining data/qhull-2020.2/src/qhulltest/QhullFacet_test.cpp
Examining data/qhull-2020.2/src/qhulltest/QhullHyperplane_test.cpp
Examining data/qhull-2020.2/src/qhulltest/QhullLinkedList_test.cpp
Examining data/qhull-2020.2/src/qhulltest/QhullPointSet_test.cpp
Examining data/qhull-2020.2/src/qhulltest/QhullPoints_test.cpp
Examining data/qhull-2020.2/src/qhulltest/QhullPoint_test.cpp
Examining data/qhull-2020.2/src/qhulltest/QhullRidge_test.cpp
Examining data/qhull-2020.2/src/qhulltest/QhullSet_test.cpp
Examining data/qhull-2020.2/src/qhulltest/qhulltest.cpp
Examining data/qhull-2020.2/src/qhulltest/QhullVertexSet_test.cpp
Examining data/qhull-2020.2/src/qhulltest/QhullVertex_test.cpp
Examining data/qhull-2020.2/src/qhulltest/Qhull_test.cpp
Examining data/qhull-2020.2/src/qhulltest/RboxPoints_test.cpp
Examining data/qhull-2020.2/src/qhulltest/RoadTest.cpp
Examining data/qhull-2020.2/src/qhulltest/RoadTest.h
Examining data/qhull-2020.2/src/qvoronoi/qvoronoi.c
Examining data/qhull-2020.2/src/qvoronoi/qvoronoi_r.c
Examining data/qhull-2020.2/src/rbox/rbox.c
Examining data/qhull-2020.2/src/rbox/rbox_r.c
Examining data/qhull-2020.2/src/testqset/testqset.c
Examining data/qhull-2020.2/src/testqset_r/testqset_r.c
Examining data/qhull-2020.2/src/user_eg/user_eg.c
Examining data/qhull-2020.2/src/user_eg/user_eg_r.c
Examining data/qhull-2020.2/src/user_eg2/user_eg2.c
Examining data/qhull-2020.2/src/user_eg2/user_eg2_r.c
Examining data/qhull-2020.2/src/user_eg3/user_eg3_r.cpp

FINAL RESULTS:

data/qhull-2020.2/src/libqhull/global.c:2286:3:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
  sprintf(buf, "  %s", option);
data/qhull-2020.2/src/libqhull/random.c:53:9:  [4] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused).
        strcpy(command, s);
data/qhull-2020.2/src/libqhull/random.c:85:7:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
      strcat(command, s);
data/qhull-2020.2/src/libqhull/rboxlib.c:407:7:  [4] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused).
      strcpy(t+1, t+3); /* remove " t " */
data/qhull-2020.2/src/libqhull/usermem.c:66:5:  [4] (format) vfprintf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
    vfprintf(stderr, fmt, args);
data/qhull-2020.2/src/libqhull/userprintf.c:65:3:  [4] (format) vfprintf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
  vfprintf(fp, fmt, args);
data/qhull-2020.2/src/libqhull/userprintf_rbox.c:50:5:  [4] (format) vfprintf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
    vfprintf(fp, fmt, args);
data/qhull-2020.2/src/libqhull_r/global_r.c:2234:3:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
  sprintf(buf, "  %s", option);
data/qhull-2020.2/src/libqhull_r/random_r.c:53:9:  [4] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused).
        strcpy(command, s);
data/qhull-2020.2/src/libqhull_r/random_r.c:85:7:  [4] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused).
      strcat(command, s);
data/qhull-2020.2/src/libqhull_r/rboxlib_r.c:379:7:  [4] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused).
      strcpy(t+1, t+3); /* remove " t " */
data/qhull-2020.2/src/libqhull_r/usermem_r.c:66:5:  [4] (format) vfprintf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
    vfprintf(stderr, fmt, args);
data/qhull-2020.2/src/libqhull_r/userprintf_r.c:66:3:  [4] (format) vfprintf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
  vfprintf(fp, fmt, args);
data/qhull-2020.2/src/libqhull_r/userprintf_rbox_r.c:50:5:  [4] (format) vfprintf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
    vfprintf(fp, fmt, args);
data/qhull-2020.2/src/libqhullcpp/QhullUser.cpp:204:9:  [4] (format) vsnprintf:
  If format strings can be influenced by an attacker, they can be exploited,
  and note that sprintf variations do not always \0-terminate (CWE-134). Use
  a constant for the format specification.
        vsnprintf(newMessage + msgLen, sizeof(newMessage) - msgLen, fmt, args);
data/qhull-2020.2/src/libqhullcpp/RboxPoints.cpp:197:9:  [4] (format) vsnprintf:
  If format strings can be influenced by an attacker, they can be exploited,
  and note that sprintf variations do not always \0-terminate (CWE-134). Use
  a constant for the format specification.
        vsnprintf(newMessage, sizeof(newMessage), fmt, args);
data/qhull-2020.2/src/libqhullcpp/usermem_r-cpp.cpp:62:5:  [4] (format) vfprintf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
    vfprintf(stderr, fmt, args);
data/qhull-2020.2/src/qconvex/qconvex.c:292:5:  [4] (format) fprintf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
    fprintf(stdout, qh_prompt2, qh_version);
data/qhull-2020.2/src/qconvex/qconvex.c:296:5:  [4] (format) fprintf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
    fprintf(stdout, qh_prompt2, qh_version);
data/qhull-2020.2/src/qconvex/qconvex.c:300:5:  [4] (format) fprintf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
    fprintf(stdout, qh_prompta, qh_version, qh_DEFAULTbox,
data/qhull-2020.2/src/qconvex/qconvex.c:305:5:  [4] (format) fprintf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
    fprintf(stdout, qh_prompt3, qh_version);
data/qhull-2020.2/src/qconvex/qconvex_r.c:299:5:  [4] (format) fprintf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
    fprintf(stdout, qh_prompt2, qh_version);
data/qhull-2020.2/src/qconvex/qconvex_r.c:303:5:  [4] (format) fprintf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
    fprintf(stdout, qh_prompt2, qh_version);
data/qhull-2020.2/src/qconvex/qconvex_r.c:307:5:  [4] (format) fprintf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
    fprintf(stdout, qh_prompta, qh_version, qh_DEFAULTbox,
data/qhull-2020.2/src/qconvex/qconvex_r.c:312:5:  [4] (format) fprintf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
    fprintf(stdout, qh_prompt3, qh_version);
data/qhull-2020.2/src/qdelaunay/qdelaun.c:279:5:  [4] (format) fprintf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
    fprintf(stdout, qh_prompt2, qh_version);
data/qhull-2020.2/src/qdelaunay/qdelaun.c:283:5:  [4] (format) fprintf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
    fprintf(stdout, qh_prompt2, qh_version);
data/qhull-2020.2/src/qdelaunay/qdelaun.c:287:5:  [4] (format) fprintf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
    fprintf(stdout, qh_prompta, qh_version,
data/qhull-2020.2/src/qdelaunay/qdelaun.c:292:5:  [4] (format) fprintf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
    fprintf(stdout, qh_prompt3, qh_version);
data/qhull-2020.2/src/qdelaunay/qdelaun_r.c:286:5:  [4] (format) fprintf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
    fprintf(stdout, qh_prompt2, qh_version);
data/qhull-2020.2/src/qdelaunay/qdelaun_r.c:290:5:  [4] (format) fprintf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
    fprintf(stdout, qh_prompt2, qh_version);
data/qhull-2020.2/src/qdelaunay/qdelaun_r.c:294:5:  [4] (format) fprintf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
    fprintf(stdout, qh_prompta, qh_version,
data/qhull-2020.2/src/qdelaunay/qdelaun_r.c:299:5:  [4] (format) fprintf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
    fprintf(stdout, qh_prompt3, qh_version);
data/qhull-2020.2/src/qhalf/qhalf.c:275:5:  [4] (format) fprintf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
    fprintf(stdout, qh_prompt2, qh_version);
data/qhull-2020.2/src/qhalf/qhalf.c:279:5:  [4] (format) fprintf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
    fprintf(stdout, qh_prompt2, qh_version);
data/qhull-2020.2/src/qhalf/qhalf.c:283:5:  [4] (format) fprintf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
    fprintf(stdout, qh_prompta, qh_version,
data/qhull-2020.2/src/qhalf/qhalf.c:288:5:  [4] (format) fprintf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
    fprintf(stdout, qh_prompt3, qh_version);
data/qhull-2020.2/src/qhalf/qhalf_r.c:282:5:  [4] (format) fprintf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
    fprintf(stdout, qh_prompt2, qh_version);
data/qhull-2020.2/src/qhalf/qhalf_r.c:286:5:  [4] (format) fprintf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
    fprintf(stdout, qh_prompt2, qh_version);
data/qhull-2020.2/src/qhalf/qhalf_r.c:290:5:  [4] (format) fprintf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
    fprintf(stdout, qh_prompta, qh_version,
data/qhull-2020.2/src/qhalf/qhalf_r.c:295:5:  [4] (format) fprintf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
    fprintf(stdout, qh_prompt3, qh_version);
data/qhull-2020.2/src/qhull/unix.c:358:5:  [4] (format) fprintf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
    fprintf(stdout, qh_prompt2a, qh_version, qh_prompt2b);
data/qhull-2020.2/src/qhull/unix.c:362:5:  [4] (format) fprintf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
    fprintf(stdout, qh_prompt2a, qh_version, qh_prompt2b);
data/qhull-2020.2/src/qhull/unix.c:366:5:  [4] (format) fprintf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
    fprintf(stdout, qh_prompt2a, qh_version, qh_prompt2b);
data/qhull-2020.2/src/qhull/unix.c:370:5:  [4] (format) fprintf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
    fprintf(stdout, qh_prompta, qh_version, qh_DEFAULTbox,
data/qhull-2020.2/src/qhull/unix.c:375:5:  [4] (format) fprintf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
    fprintf(stdout, qh_prompt3a, qh_version, qh_prompt3b);
data/qhull-2020.2/src/qhull/unix_r.c:365:5:  [4] (format) fprintf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
    fprintf(stdout, qh_prompt2a, qh_version, qh_prompt2b);
data/qhull-2020.2/src/qhull/unix_r.c:369:5:  [4] (format) fprintf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
    fprintf(stdout, qh_prompt2a, qh_version, qh_prompt2b);
data/qhull-2020.2/src/qhull/unix_r.c:373:5:  [4] (format) fprintf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
    fprintf(stdout, qh_prompt2a, qh_version, qh_prompt2b);
data/qhull-2020.2/src/qhull/unix_r.c:377:5:  [4] (format) fprintf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
    fprintf(stdout, qh_prompta, qh_version, qh_DEFAULTbox,
data/qhull-2020.2/src/qhull/unix_r.c:382:5:  [4] (format) fprintf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
    fprintf(stdout, qh_prompt3a, qh_version, qh_prompt3b);
data/qhull-2020.2/src/qhulltest/Qhull_test.cpp:398:5:  [4] (format) vfprintf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
    vfprintf(stderr, fmt, args);
data/qhull-2020.2/src/qvoronoi/qvoronoi.c:267:5:  [4] (format) fprintf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
    fprintf(stdout, qh_prompt2, qh_version);
data/qhull-2020.2/src/qvoronoi/qvoronoi.c:271:5:  [4] (format) fprintf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
    fprintf(stdout, qh_prompt2, qh_version);
data/qhull-2020.2/src/qvoronoi/qvoronoi.c:275:5:  [4] (format) fprintf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
    fprintf(stdout, qh_prompta, qh_version,
data/qhull-2020.2/src/qvoronoi/qvoronoi.c:280:5:  [4] (format) fprintf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
    fprintf(stdout, qh_prompt3, qh_version);
data/qhull-2020.2/src/qvoronoi/qvoronoi_r.c:274:5:  [4] (format) fprintf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
    fprintf(stdout, qh_prompt2, qh_version);
data/qhull-2020.2/src/qvoronoi/qvoronoi_r.c:278:5:  [4] (format) fprintf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
    fprintf(stdout, qh_prompt2, qh_version);
data/qhull-2020.2/src/qvoronoi/qvoronoi_r.c:282:5:  [4] (format) fprintf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
    fprintf(stdout, qh_prompta, qh_version,
data/qhull-2020.2/src/qvoronoi/qvoronoi_r.c:287:5:  [4] (format) fprintf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
    fprintf(stdout, qh_prompt3, qh_version);
data/qhull-2020.2/src/rbox/rbox.c:68:5:  [4] (format) printf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
    printf(prompt, qh_DEFAULTbox, qh_DEFAULTzbox);
data/qhull-2020.2/src/rbox/rbox_r.c:71:5:  [4] (format) printf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
    printf(prompt, qh_DEFAULTbox, qh_DEFAULTzbox);
data/qhull-2020.2/src/testqset/testqset.c:172:5:  [4] (format) vfprintf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
    vfprintf(fp, fmt, args);
data/qhull-2020.2/src/testqset_r/testqset_r.c:167:5:  [4] (format) vfprintf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
    vfprintf(fp, fmt, args);
data/qhull-2020.2/src/user_eg/user_eg.c:226:3:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
  sprintf(flags, "qhull s Tcv %s", argc >= 2 ? argv[1] : "");
data/qhull-2020.2/src/user_eg/user_eg.c:257:3:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
  sprintf(flags, "qhull s d Tcv %s", argc >= 3 ? argv[2] : "");
data/qhull-2020.2/src/user_eg/user_eg.c:292:5:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
    sprintf(flags, "qhull s d Tcv %s", argc >= 3 ? argv[2] : "");
data/qhull-2020.2/src/user_eg/user_eg.c:330:3:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
  sprintf(flags, "qhull H0 s Tcv %s", argc >= 4 ? argv[3] : "Fp");
data/qhull-2020.2/src/user_eg/user_eg_r.c:221:3:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
  sprintf(flags, "qhull s Tcv %s", argc >= 2 ? argv[1] : "");
data/qhull-2020.2/src/user_eg/user_eg_r.c:252:3:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
  sprintf(flags, "qhull s d Tcv %s", argc >= 3 ? argv[2] : "");
data/qhull-2020.2/src/user_eg/user_eg_r.c:288:5:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
    sprintf(flags, "qhull s d Tcv %s", argc >= 3 ? argv[2] : "");
data/qhull-2020.2/src/user_eg/user_eg_r.c:326:3:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
  sprintf(flags, "qhull H0 s Tcv %s", argc >= 4 ? argv[3] : "Fp");
data/qhull-2020.2/src/user_eg2/user_eg2.c:395:5:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
    sprintf(options, "qhull s Tcv Q11 %s ", argc >= 2 ? argv[1] : "");
data/qhull-2020.2/src/user_eg2/user_eg2.c:438:5:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
    sprintf(options, "qhull s d Tcv %s", argc >= 3 ? argv[2] : "");
data/qhull-2020.2/src/user_eg2/user_eg2.c:490:5:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
    sprintf(options, "qhull H0 s Tcv %s", argc >= 4 ? argv[3] : "");
data/qhull-2020.2/src/user_eg2/user_eg2_r.c:386:5:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
    sprintf(options, "qhull s Tcv Q11 %s ", argc >= 2 ? argv[1] : "");
data/qhull-2020.2/src/user_eg2/user_eg2_r.c:429:5:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
    sprintf(options, "qhull s d Tcv %s", argc >= 3 ? argv[2] : "");
data/qhull-2020.2/src/user_eg2/user_eg2_r.c:481:5:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
    sprintf(options, "qhull H0 s Tcv %s", argc >= 4 ? argv[3] : "");
data/qhull-2020.2/src/libqhull/user.h:291:22:  [3] (random) random:
  This function is not sufficiently random for security-related functions
  such as key and nonce creation (CWE-327). Use a more secure technique for
  acquiring random values.
#define qh_RANDOMint random()
data/qhull-2020.2/src/libqhull/user.h:292:30:  [3] (random) srandom:
  This function is not sufficiently random for security-related functions
  such as key and nonce creation (CWE-327). Use a more secure technique for
  acquiring random values.
#define qh_RANDOMseed_(seed) srandom(seed);
data/qhull-2020.2/src/libqhull/user.h:301:30:  [3] (random) srand:
  This function is not sufficiently random for security-related functions
  such as key and nonce creation (CWE-327). Use a more secure technique for
  acquiring random values.
#define qh_RANDOMseed_(seed) srand((unsigned int)seed);
data/qhull-2020.2/src/libqhull/user.h:306:30:  [3] (random) srand:
  This function is not sufficiently random for security-related functions
  such as key and nonce creation (CWE-327). Use a more secure technique for
  acquiring random values.
#define qh_RANDOMseed_(seed) srand((unsigned int)seed);
data/qhull-2020.2/src/libqhull/user.h:310:22:  [3] (random) lrand48:
  This function is not sufficiently random for security-related functions
  such as key and nonce creation (CWE-327). Use a more secure technique for
  acquiring random values.
#define qh_RANDOMint lrand48()
data/qhull-2020.2/src/libqhull/user.h:320:17:  [3] (random) random:
  This function is not sufficiently random for security-related functions
  such as key and nonce creation (CWE-327). Use a more secure technique for
  acquiring random values.
#error: unknown random option
data/qhull-2020.2/src/libqhull_r/user_r.h:290:22:  [3] (random) random:
  This function is not sufficiently random for security-related functions
  such as key and nonce creation (CWE-327). Use a more secure technique for
  acquiring random values.
#define qh_RANDOMint random()
data/qhull-2020.2/src/libqhull_r/user_r.h:291:34:  [3] (random) srandom:
  This function is not sufficiently random for security-related functions
  such as key and nonce creation (CWE-327). Use a more secure technique for
  acquiring random values.
#define qh_RANDOMseed_(qh, seed) srandom(seed);
data/qhull-2020.2/src/libqhull_r/user_r.h:300:34:  [3] (random) srand:
  This function is not sufficiently random for security-related functions
  such as key and nonce creation (CWE-327). Use a more secure technique for
  acquiring random values.
#define qh_RANDOMseed_(qh, seed) srand((unsigned int)seed);
data/qhull-2020.2/src/libqhull_r/user_r.h:305:34:  [3] (random) srand:
  This function is not sufficiently random for security-related functions
  such as key and nonce creation (CWE-327). Use a more secure technique for
  acquiring random values.
#define qh_RANDOMseed_(qh, seed) srand((unsigned int)seed);
data/qhull-2020.2/src/libqhull_r/user_r.h:309:22:  [3] (random) lrand48:
  This function is not sufficiently random for security-related functions
  such as key and nonce creation (CWE-327). Use a more secure technique for
  acquiring random values.
#define qh_RANDOMint lrand48()
data/qhull-2020.2/src/libqhull_r/user_r.h:319:17:  [3] (random) random:
  This function is not sufficiently random for security-related functions
  such as key and nonce creation (CWE-327). Use a more secure technique for
  acquiring random values.
#error: unknown random option
data/qhull-2020.2/src/libqhull/geom2.c:41: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((char *)newpoints, (char *)points, (size_t)size); /* newpoints!=0 by QH6004 */
data/qhull-2020.2/src/libqhull/global.c:1410:13:  [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 filename[qh_FILENAMElen];
data/qhull-2020.2/src/libqhull/global.c:1428:13:  [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 filename[qh_FILENAMElen];
data/qhull-2020.2/src/libqhull/global.c:2057:3:  [2] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused). Risk is low because the
  source is a constant string.
  strcat(qh qhull, "qhull");
data/qhull-2020.2/src/libqhull/global.c:2278: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 buf[200];
data/qhull-2020.2/src/libqhull/global.c:2288: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(buf+strlen(buf), " %d", *i);
data/qhull-2020.2/src/libqhull/global.c:2290: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(buf+strlen(buf), " %2.2g", *r);
data/qhull-2020.2/src/libqhull/io.c:3645: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 *t, firstline[qh_MAXfirst+1];
data/qhull-2020.2/src/libqhull/libqhull.h:643: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  qhull_command[256];/* command line that invoked this program */
data/qhull-2020.2/src/libqhull/libqhull.h:645: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  rbox_command[256]; /* command line that produced the input points */
data/qhull-2020.2/src/libqhull/libqhull.h:646: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  qhull_options[512];/* descriptive list of options */
data/qhull-2020.2/src/libqhull/libqhull.h:702: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 qhull[sizeof("qhull")]; /* "qhull" for checking ownership while debugging */
data/qhull-2020.2/src/libqhull/libqhull.h:704: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    jmpXtra[40];    /* extra bytes in case jmp_buf is defined wrong by compiler */
data/qhull-2020.2/src/libqhull/libqhull.h:706: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    jmpXtra2[40];   /* extra bytes in case jmp_buf is defined wrong by compiler*/
data/qhull-2020.2/src/libqhull/poly2.c:3703: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((char *)newfacet->normal, facetA->normal, (size_t)qh normal_size);
data/qhull-2020.2/src/libqhull/poly2.c:3709: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((char *)newfacet->center, facetA->center, (size_t)qh center_size);
data/qhull-2020.2/src/libqhull/qset.c:188: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((char *)&((*setp)->e[size].p), (char *)&(setA->e[0].p), (size_t)(sizeA+1) * SETelemsize);
data/qhull-2020.2/src/libqhull/qset.c:321: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((char *)&(newset->e[0].p), (char *)&(set->e[0].p), (size_t)(size+1) * SETelemsize);
data/qhull-2020.2/src/libqhull/qset.c:553: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(newElem, elem, (size_t)elemsize);
data/qhull-2020.2/src/libqhull/qset.c:878: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((char *)newp, (char *)oldp, (size_t)(setsize+1) * SETelemsize);
data/qhull-2020.2/src/libqhull/qset.c:1046: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((char *)newp, (char *)oldp, (size_t)nth * SETelemsize);
data/qhull-2020.2/src/libqhull/qset.c:1074: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((char *)newp, (char *)oldp, (size_t)tailsize * SETelemsize);
data/qhull-2020.2/src/libqhull/rboxlib.c:61: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  jmpXtra[40];      /* extra bytes in case jmp_buf is defined wrong by compiler */
data/qhull-2020.2/src/libqhull/rboxlib.c:139: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 command[250], seedbuf[50];
data/qhull-2020.2/src/libqhull/rboxlib.c:403: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(seedbuf, " t%d", seed);  /* appends an extra t, not worth removing */
data/qhull-2020.2/src/libqhull/stat.h:535:12:  [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.
  unsigned char id[ZEND+10];  /* id's in print order */
data/qhull-2020.2/src/libqhull/stat.h:536:9:  [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.
  const char *doc[ZEND];      /* array of documentation strings */
data/qhull-2020.2/src/libqhull/stat.h:538: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       type[ZEND];      /* type, see ztypes above */
data/qhull-2020.2/src/libqhull/stat.h:539: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       printed[ZEND];   /* true, if statistic has been printed */
data/qhull-2020.2/src/libqhull_r/geom2_r.c:41: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((char *)newpoints, (char *)points, (size_t)size); /* newpoints!=0 by QH6004 */
data/qhull-2020.2/src/libqhull_r/global_r.c:1382:13:  [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 filename[qh_FILENAMElen];
data/qhull-2020.2/src/libqhull_r/global_r.c:1400:13:  [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 filename[qh_FILENAMElen];
data/qhull-2020.2/src/libqhull_r/global_r.c:2017:3:  [2] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused). Risk is low because the
  source is a constant string.
  strcat(qh->qhull, "qhull");
data/qhull-2020.2/src/libqhull_r/global_r.c:2226: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 buf[200];
data/qhull-2020.2/src/libqhull_r/global_r.c:2236: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(buf+strlen(buf), " %d", *i);
data/qhull-2020.2/src/libqhull_r/global_r.c:2238: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(buf+strlen(buf), " %2.2g", *r);
data/qhull-2020.2/src/libqhull_r/io_r.c:3645: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 *t, firstline[qh_MAXfirst+1];
data/qhull-2020.2/src/libqhull_r/libqhull_r.h:612: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  qhull_command[256];/* command line that invoked this program */
data/qhull-2020.2/src/libqhull_r/libqhull_r.h:614: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  rbox_command[256]; /* command line that produced the input points */
data/qhull-2020.2/src/libqhull_r/libqhull_r.h:615: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  qhull_options[512];/* descriptive list of options */
data/qhull-2020.2/src/libqhull_r/libqhull_r.h:671: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 qhull[sizeof("qhull")]; /* "qhull" for checking ownership while debugging */
data/qhull-2020.2/src/libqhull_r/libqhull_r.h:673: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    jmpXtra[40];    /* extra bytes in case jmp_buf is defined wrong by compiler */
data/qhull-2020.2/src/libqhull_r/libqhull_r.h:675: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    jmpXtra2[40];   /* extra bytes in case jmp_buf is defined wrong by compiler*/
data/qhull-2020.2/src/libqhull_r/libqhull_r.h:850: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    jmpXtra3[40];   /* extra bytes in case jmp_buf is defined wrong by compiler */
data/qhull-2020.2/src/libqhull_r/poly2_r.c:3705: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((char *)newfacet->normal, facetA->normal, (size_t)qh->normal_size);
data/qhull-2020.2/src/libqhull_r/poly2_r.c:3711: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((char *)newfacet->center, facetA->center, (size_t)qh->center_size);
data/qhull-2020.2/src/libqhull_r/qset_r.c:188: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((char *)&((*setp)->e[size].p), (char *)&(setA->e[0].p), (size_t)(sizeA+1) * SETelemsize);
data/qhull-2020.2/src/libqhull_r/qset_r.c:321: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((char *)&(newset->e[0].p), (char *)&(set->e[0].p), (size_t)(size+1) * SETelemsize);
data/qhull-2020.2/src/libqhull_r/qset_r.c:553: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(newElem, elem, (size_t)elemsize);
data/qhull-2020.2/src/libqhull_r/qset_r.c:878: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((char *)newp, (char *)oldp, (size_t)(setsize+1) * SETelemsize);
data/qhull-2020.2/src/libqhull_r/qset_r.c:1046: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((char *)newp, (char *)oldp, (size_t)nth * SETelemsize);
data/qhull-2020.2/src/libqhull_r/qset_r.c:1074: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((char *)newp, (char *)oldp, (size_t)tailsize * SETelemsize);
data/qhull-2020.2/src/libqhull_r/rboxlib_r.c:111: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 command[250], seedbuf[50];
data/qhull-2020.2/src/libqhull_r/rboxlib_r.c:375: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(seedbuf, " t%d", seed);  /* appends an extra t, not worth removing */
data/qhull-2020.2/src/libqhull_r/stat_r.h:518:12:  [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.
  unsigned char id[ZEND+10];  /* id's in print order */
data/qhull-2020.2/src/libqhull_r/stat_r.h:519:9:  [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.
  const char *doc[ZEND];      /* array of documentation strings */
data/qhull-2020.2/src/libqhull_r/stat_r.h:521: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       type[ZEND];      /* type, see ztypes above */
data/qhull-2020.2/src/libqhull_r/stat_r.h:522: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       printed[ZEND];   /* true, if statistic has been printed */
data/qhull-2020.2/src/libqhullcpp/QhullUser.cpp:196: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 newMessage[MSG_MAXLEN];
data/qhull-2020.2/src/libqhullcpp/RboxPoints.cpp:132:9:  [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 dimStr[20]; // max dim is 200 (MAXdim)
data/qhull-2020.2/src/libqhullcpp/RboxPoints.cpp:133:9:  [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(dimStr, " D%d", dim);
data/qhull-2020.2/src/libqhullcpp/RboxPoints.cpp:195:9:  [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 newMessage[MSG_MAXLEN];
data/qhull-2020.2/src/user_eg/user_eg.c:192: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 flags[250];          /* option flags for qhull, see qh-quick.htm */
data/qhull-2020.2/src/user_eg/user_eg_r.c:192: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 flags[250];          /* option flags for qhull, see qh-quick.htm */
data/qhull-2020.2/src/user_eg2/user_eg2.c:361: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 options [2000];
data/qhull-2020.2/src/user_eg2/user_eg2.c:394:5:  [2] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused). Risk is low because the
  source is a constant string.
    strcat(qh rbox_command, "user_eg2 cube example");
data/qhull-2020.2/src/user_eg2/user_eg2.c:437:5:  [2] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused). Risk is low because the
  source is a constant string.
    strcat(qh rbox_command, "user_eg2 Delaunay example");
data/qhull-2020.2/src/user_eg2/user_eg2.c:489:5:  [2] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused). Risk is low because the
  source is a constant string.
    strcat(qh rbox_command, "user_eg2 halfspace example");
data/qhull-2020.2/src/user_eg2/user_eg2_r.c:360: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 options [2000];
data/qhull-2020.2/src/user_eg2/user_eg2_r.c:385:5:  [2] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused). Risk is low because the
  source is a constant string.
    strcat(qh->rbox_command, "user_eg2 cube example");
data/qhull-2020.2/src/user_eg2/user_eg2_r.c:428:5:  [2] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused). Risk is low because the
  source is a constant string.
    strcat(qh->rbox_command, "user_eg2 Delaunay example");
data/qhull-2020.2/src/user_eg2/user_eg2_r.c:480:5:  [2] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused). Risk is low because the
  source is a constant string.
    strcat(qh->rbox_command, "user_eg2 halfspace example");
data/qhull-2020.2/src/libqhull/global.c:94:42:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
  if (*hiddenflags != ' ' || hiddenflags[strlen(hiddenflags)-1] != ' ') {
data/qhull-2020.2/src/libqhull/global.c:159:14:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
      chkerr[strlen(chkerr)-1]=  '\'';
data/qhull-2020.2/src/libqhull/global.c:223:34:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
      qh qhull_commandsiz2= (int)strlen(qh qhull_command); /* WARN64 */
data/qhull-2020.2/src/libqhull/global.c:228:31:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    qh qhull_optionsiz2= (int)strlen(qh qhull_options);  /* WARN64 */
data/qhull-2020.2/src/libqhull/global.c:655:7:  [1] (buffer) strncat:
  Easily used incorrectly (e.g., incorrectly computing the correct maximum
  size to add) [MS-banned] (CWE-120). Consider strcat_s, strlcat, snprintf,
  or automatically resizing strings.
      strncat(qh qhull_command, command, sizeof(qh qhull_command)-strlen(qh qhull_command)-1);
data/qhull-2020.2/src/libqhull/global.c:655:67:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
      strncat(qh qhull_command, command, sizeof(qh qhull_command)-strlen(qh qhull_command)-1);
data/qhull-2020.2/src/libqhull/global.c:776:9:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
        strncpy(qh feasible_string, start, (size_t)(t-start));
data/qhull-2020.2/src/libqhull/global.c:2281:7:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
  if (strlen(option) > sizeof(buf)-30-30) {
data/qhull-2020.2/src/libqhull/global.c:2283:14:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
        (int)strlen(option), (int)sizeof(buf)-30-30, option);
data/qhull-2020.2/src/libqhull/global.c:2288:17:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    sprintf(buf+strlen(buf), " %d", *i);
data/qhull-2020.2/src/libqhull/global.c:2290:17:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    sprintf(buf+strlen(buf), " %2.2g", *r);
data/qhull-2020.2/src/libqhull/global.c:2291:16:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
  buflen= (int)strlen(buf);   /* WARN64 */
data/qhull-2020.2/src/libqhull/global.c:2293:47:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
  remainder= (int)(sizeof(qh qhull_options) - strlen(qh qhull_options)) - 1;    /* WARN64 */
data/qhull-2020.2/src/libqhull/global.c:2296:5:  [1] (buffer) strncat:
  Easily used incorrectly (e.g., incorrectly computing the correct maximum
  size to add) [MS-banned] (CWE-120). Consider strcat_s, strlcat, snprintf,
  or automatically resizing strings. Risk is low because the source is a
  constant character.
    strncat(qh qhull_options, "\n", (unsigned int)remainder);
data/qhull-2020.2/src/libqhull/global.c:2303:3:  [1] (buffer) strncat:
  Easily used incorrectly (e.g., incorrectly computing the correct maximum
  size to add) [MS-banned] (CWE-120). Consider strcat_s, strlcat, snprintf,
  or automatically resizing strings.
  strncat(qh qhull_options, buf, (unsigned int)remainder);
data/qhull-2020.2/src/libqhull/io.c:193:3:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
  strncpy(filename, source, (size_t)length);
data/qhull-2020.2/src/libqhull/io.c:3748:9:  [1] (buffer) strncat:
  Easily used incorrectly (e.g., incorrectly computing the correct maximum
  size to add) [MS-banned] (CWE-120). Consider strcat_s, strlcat, snprintf,
  or automatically resizing strings.
        strncat(qh rbox_command, s, sizeof(qh rbox_command)-1);
data/qhull-2020.2/src/libqhull/io.c:3766:11:  [1] (buffer) strncat:
  Easily used incorrectly (e.g., incorrectly computing the correct maximum
  size to add) [MS-banned] (CWE-120). Consider strcat_s, strlcat, snprintf,
  or automatically resizing strings.
          strncat(qh rbox_command, s, sizeof(qh rbox_command)-1);
data/qhull-2020.2/src/libqhull/io.c:3889:10:  [1] (buffer) strncat:
  Easily used incorrectly (e.g., incorrectly computing the correct maximum
  size to add) [MS-banned] (CWE-120). Consider strcat_s, strlcat, snprintf,
  or automatically resizing strings.
         strncat(qh rbox_command, s, sizeof(qh rbox_command)-1);
data/qhull-2020.2/src/libqhull/io.c:3959:21:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    qh rbox_command[strlen(qh rbox_command)-1]= '\0'; /* remove \n, previous qh_errexit's display command as two lines */
data/qhull-2020.2/src/libqhull/libqhull.c:342:32:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
      qh qhull_optionsiz= (int)strlen(qh qhull_options);   /* WARN64 */
data/qhull-2020.2/src/libqhull/random.c:52:14:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    if ((int)strlen(s) < max_size)   /* WARN64 */
data/qhull-2020.2/src/libqhull/random.c:62:32:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    remaining= max_size - (int)strlen(command) - (int)strlen(s) - 2;   /* WARN64 */
data/qhull-2020.2/src/libqhull/random.c:62:55:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    remaining= max_size - (int)strlen(command) - (int)strlen(s) - 2;   /* WARN64 */
data/qhull-2020.2/src/libqhull/random.c:64:26:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
      char *t= command + strlen(command);
data/qhull-2020.2/src/libqhull/random.c:84:7:  [1] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused). Risk is low because the
  source is a constant character.
      strcat(command, " ");
data/qhull-2020.2/src/libqhull/random.c:113:21:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
      count += (int)strlen(argv[i]) + 1;   /* WARN64 */
data/qhull-2020.2/src/libqhull/rboxlib.c:144:3:  [1] (buffer) strncat:
  Easily used incorrectly (e.g., incorrectly computing the correct maximum
  size to add) [MS-banned] (CWE-120). Consider strcat_s, strlcat, snprintf,
  or automatically resizing strings.
  strncat(command, rbox_command, sizeof(command)-sizeof(seedbuf)-strlen(command)-1);
data/qhull-2020.2/src/libqhull/rboxlib.c:144:66:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
  strncat(command, rbox_command, sizeof(command)-sizeof(seedbuf)-strlen(command)-1);
data/qhull-2020.2/src/libqhull/rboxlib.c:404:5:  [1] (buffer) strncat:
  Easily used incorrectly (e.g., incorrectly computing the correct maximum
  size to add) [MS-banned] (CWE-120). Consider strcat_s, strlcat, snprintf,
  or automatically resizing strings.
    strncat(command, seedbuf, sizeof(command) - strlen(command) - 1);
data/qhull-2020.2/src/libqhull/rboxlib.c:404:49:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    strncat(command, seedbuf, sizeof(command) - strlen(command) - 1);
data/qhull-2020.2/src/libqhull_r/global_r.c:86:42:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
  if (*hiddenflags != ' ' || hiddenflags[strlen(hiddenflags)-1] != ' ') {
data/qhull-2020.2/src/libqhull_r/global_r.c:151:14:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
      chkerr[strlen(chkerr)-1]=  '\'';
data/qhull-2020.2/src/libqhull_r/global_r.c:215:35:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
      qh->qhull_commandsiz2= (int)strlen(qh->qhull_command); /* WARN64 */
data/qhull-2020.2/src/libqhull_r/global_r.c:220:32:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    qh->qhull_optionsiz2= (int)strlen(qh->qhull_options);  /* WARN64 */
data/qhull-2020.2/src/libqhull_r/global_r.c:629:7:  [1] (buffer) strncat:
  Easily used incorrectly (e.g., incorrectly computing the correct maximum
  size to add) [MS-banned] (CWE-120). Consider strcat_s, strlcat, snprintf,
  or automatically resizing strings.
      strncat(qh->qhull_command, command, sizeof(qh->qhull_command)-strlen(qh->qhull_command)-1);
data/qhull-2020.2/src/libqhull_r/global_r.c:629:69:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
      strncat(qh->qhull_command, command, sizeof(qh->qhull_command)-strlen(qh->qhull_command)-1);
data/qhull-2020.2/src/libqhull_r/global_r.c:748:9:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
        strncpy(qh->feasible_string, start, (size_t)(t-start));
data/qhull-2020.2/src/libqhull_r/global_r.c:2229:7:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
  if (strlen(option) > sizeof(buf)-30-30) {
data/qhull-2020.2/src/libqhull_r/global_r.c:2231:14:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
        (int)strlen(option), (int)sizeof(buf)-30-30, option);
data/qhull-2020.2/src/libqhull_r/global_r.c:2236:17:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    sprintf(buf+strlen(buf), " %d", *i);
data/qhull-2020.2/src/libqhull_r/global_r.c:2238:17:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    sprintf(buf+strlen(buf), " %2.2g", *r);
data/qhull-2020.2/src/libqhull_r/global_r.c:2239:16:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
  buflen= (int)strlen(buf);   /* WARN64 */
data/qhull-2020.2/src/libqhull_r/global_r.c:2241:48:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
  remainder= (int)(sizeof(qh->qhull_options) - strlen(qh->qhull_options)) - 1;    /* WARN64 */
data/qhull-2020.2/src/libqhull_r/global_r.c:2244:5:  [1] (buffer) strncat:
  Easily used incorrectly (e.g., incorrectly computing the correct maximum
  size to add) [MS-banned] (CWE-120). Consider strcat_s, strlcat, snprintf,
  or automatically resizing strings. Risk is low because the source is a
  constant character.
    strncat(qh->qhull_options, "\n", (unsigned int)remainder);
data/qhull-2020.2/src/libqhull_r/global_r.c:2251:3:  [1] (buffer) strncat:
  Easily used incorrectly (e.g., incorrectly computing the correct maximum
  size to add) [MS-banned] (CWE-120). Consider strcat_s, strlcat, snprintf,
  or automatically resizing strings.
  strncat(qh->qhull_options, buf, (unsigned int)remainder);
data/qhull-2020.2/src/libqhull_r/io_r.c:193:3:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
  strncpy(filename, source, (size_t)length);
data/qhull-2020.2/src/libqhull_r/io_r.c:3748:9:  [1] (buffer) strncat:
  Easily used incorrectly (e.g., incorrectly computing the correct maximum
  size to add) [MS-banned] (CWE-120). Consider strcat_s, strlcat, snprintf,
  or automatically resizing strings.
        strncat(qh->rbox_command, s, sizeof(qh->rbox_command)-1);
data/qhull-2020.2/src/libqhull_r/io_r.c:3766:11:  [1] (buffer) strncat:
  Easily used incorrectly (e.g., incorrectly computing the correct maximum
  size to add) [MS-banned] (CWE-120). Consider strcat_s, strlcat, snprintf,
  or automatically resizing strings.
          strncat(qh->rbox_command, s, sizeof(qh->rbox_command)-1);
data/qhull-2020.2/src/libqhull_r/io_r.c:3889:10:  [1] (buffer) strncat:
  Easily used incorrectly (e.g., incorrectly computing the correct maximum
  size to add) [MS-banned] (CWE-120). Consider strcat_s, strlcat, snprintf,
  or automatically resizing strings.
         strncat(qh->rbox_command, s, sizeof(qh->rbox_command)-1);
data/qhull-2020.2/src/libqhull_r/io_r.c:3959:22:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    qh->rbox_command[strlen(qh->rbox_command)-1]= '\0'; /* remove \n, previous qh_errexit's display command as two lines */
data/qhull-2020.2/src/libqhull_r/libqhull_r.c:342:33:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
      qh->qhull_optionsiz= (int)strlen(qh->qhull_options);   /* WARN64 */
data/qhull-2020.2/src/libqhull_r/random_r.c:52:14:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    if ((int)strlen(s) < max_size)   /* WARN64 */
data/qhull-2020.2/src/libqhull_r/random_r.c:62:32:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    remaining= max_size - (int)strlen(command) - (int)strlen(s) - 2;   /* WARN64 */
data/qhull-2020.2/src/libqhull_r/random_r.c:62:55:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    remaining= max_size - (int)strlen(command) - (int)strlen(s) - 2;   /* WARN64 */
data/qhull-2020.2/src/libqhull_r/random_r.c:64:26:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
      char *t= command + strlen(command);
data/qhull-2020.2/src/libqhull_r/random_r.c:84:7:  [1] (buffer) strcat:
  Does not check for buffer overflows when concatenating to destination
  [MS-banned] (CWE-120). Consider using strcat_s, strncat, strlcat, or
  snprintf (warning: strncat is easily misused). Risk is low because the
  source is a constant character.
      strcat(command, " ");
data/qhull-2020.2/src/libqhull_r/random_r.c:113:21:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
      count += (int)strlen(argv[i]) + 1;   /* WARN64 */
data/qhull-2020.2/src/libqhull_r/rboxlib_r.c:116:3:  [1] (buffer) strncat:
  Easily used incorrectly (e.g., incorrectly computing the correct maximum
  size to add) [MS-banned] (CWE-120). Consider strcat_s, strlcat, snprintf,
  or automatically resizing strings.
  strncat(command, rbox_command, sizeof(command)-sizeof(seedbuf)-strlen(command)-1);
data/qhull-2020.2/src/libqhull_r/rboxlib_r.c:116:66:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
  strncat(command, rbox_command, sizeof(command)-sizeof(seedbuf)-strlen(command)-1);
data/qhull-2020.2/src/libqhull_r/rboxlib_r.c:376:5:  [1] (buffer) strncat:
  Easily used incorrectly (e.g., incorrectly computing the correct maximum
  size to add) [MS-banned] (CWE-120). Consider strcat_s, strlcat, snprintf,
  or automatically resizing strings.
    strncat(command, seedbuf, sizeof(command) - strlen(command) - 1);
data/qhull-2020.2/src/libqhull_r/rboxlib_r.c:376:49:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    strncat(command, seedbuf, sizeof(command) - strlen(command) - 1);
data/qhull-2020.2/src/libqhullcpp/Qhull.cpp:233:41:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
        char *s= qh_qh->qhull_command + strlen(qh_qh->qhull_command) + 1; //space
data/qhull-2020.2/src/libqhullcpp/Qhull.cpp:234:9:  [1] (buffer) strncat:
  Easily used incorrectly (e.g., incorrectly computing the correct maximum
  size to add) [MS-banned] (CWE-120). Consider strcat_s, strlcat, snprintf,
  or automatically resizing strings.
        strncat(qh_qh->qhull_command, command, sizeof(qh_qh->qhull_command)-strlen(qh_qh->qhull_command)-1);
data/qhull-2020.2/src/libqhullcpp/Qhull.cpp:234:77:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
        strncat(qh_qh->qhull_command, command, sizeof(qh_qh->qhull_command)-strlen(qh_qh->qhull_command)-1);
data/qhull-2020.2/src/libqhullcpp/Qhull.cpp:316:9:  [1] (buffer) strncat:
  Easily used incorrectly (e.g., incorrectly computing the correct maximum
  size to add) [MS-banned] (CWE-120). Consider strcat_s, strlcat, snprintf,
  or automatically resizing strings.
        strncat( qh_qh->rbox_command, inputComment2, sizeof(qh_qh->rbox_command)-1);
data/qhull-2020.2/src/libqhullcpp/RoadLogEvent.cpp:35:12:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
        n= strlen(tag);
data/qhull-2020.2/src/libqhullcpp/RoadLogEvent.cpp:36:29:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
        if(format_string && strlen(format_string)>n+1 && isdigit(format_string[n+1]) && (strncmp(format_string, tag, n)==0 || strncmp(format_string+1, tag, n) == 0)){
data/qhull-2020.2/src/testqset/testqset.c:150:20:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    size_t fmtlen= strlen(fmt);
data/qhull-2020.2/src/testqset_r/testqset_r.c:142:20:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    size_t fmtlen= strlen(fmt);

ANALYSIS SUMMARY:

Hits = 232
Lines analyzed = 86589 in approximately 2.75 seconds (31432 lines/second)
Physical Source Lines of Code (SLOC) = 54999
Hits@level = [0] 140 [1]  70 [2]  72 [3]  12 [4]  78 [5]   0
Hits@level+ = [0+] 372 [1+] 232 [2+] 162 [3+]  90 [4+]  78 [5+]   0
Hits/KSLOC@level+ = [0+] 6.76376 [1+] 4.21826 [2+] 2.94551 [3+] 1.63639 [4+] 1.41821 [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.