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/r-cran-geometry-0.4.5/src/Rtsearch.cpp Examining data/r-cran-geometry-0.4.5/src/random_r.c Examining data/r-cran-geometry-0.4.5/src/libqhull_r.h Examining data/r-cran-geometry-0.4.5/src/global_r.c Examining data/r-cran-geometry-0.4.5/src/Rconvhulln.c Examining data/r-cran-geometry-0.4.5/src/Rtsearchn.c Examining data/r-cran-geometry-0.4.5/src/libqhull_r.c Examining data/r-cran-geometry-0.4.5/src/geom_r.c Examining data/r-cran-geometry-0.4.5/src/userprintf_r.c Examining data/r-cran-geometry-0.4.5/src/Rinhulln.c Examining data/r-cran-geometry-0.4.5/src/geometry_init.c Examining data/r-cran-geometry-0.4.5/src/qhull_ra.h Examining data/r-cran-geometry-0.4.5/src/merge_r.c Examining data/r-cran-geometry-0.4.5/src/stat_r.c Examining data/r-cran-geometry-0.4.5/src/random_r.h Examining data/r-cran-geometry-0.4.5/src/user_r.h Examining data/r-cran-geometry-0.4.5/src/qset_r.c Examining data/r-cran-geometry-0.4.5/src/mem_r.c Examining data/r-cran-geometry-0.4.5/src/geom2_r.c Examining data/r-cran-geometry-0.4.5/src/userprintf_rbox_r.c Examining data/r-cran-geometry-0.4.5/src/Rgeometry.h Examining data/r-cran-geometry-0.4.5/src/Rhalfspacen.c Examining data/r-cran-geometry-0.4.5/src/Rgeometry.c Examining data/r-cran-geometry-0.4.5/src/Rdelaunayn.c Examining data/r-cran-geometry-0.4.5/src/rboxlib_r.c Examining data/r-cran-geometry-0.4.5/src/Rtsearch_orig.c Examining data/r-cran-geometry-0.4.5/src/poly_r.h Examining data/r-cran-geometry-0.4.5/src/poly_r.c Examining data/r-cran-geometry-0.4.5/src/stat_r.h Examining data/r-cran-geometry-0.4.5/src/geom_r.h Examining data/r-cran-geometry-0.4.5/src/user_r.c Examining data/r-cran-geometry-0.4.5/src/io_r.h Examining data/r-cran-geometry-0.4.5/src/QuadTree.cpp Examining data/r-cran-geometry-0.4.5/src/usermem_r.c Examining data/r-cran-geometry-0.4.5/src/io_r.c Examining data/r-cran-geometry-0.4.5/src/merge_r.h Examining data/r-cran-geometry-0.4.5/src/QuadTree.h Examining data/r-cran-geometry-0.4.5/src/RcppExports.cpp Examining data/r-cran-geometry-0.4.5/src/poly2_r.c Examining data/r-cran-geometry-0.4.5/src/mem_r.h Examining data/r-cran-geometry-0.4.5/src/qset_r.h FINAL RESULTS: data/r-cran-geometry-0.4.5/src/Rgeometry.c:68:3: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(flags, "%s %s", cmd, CHAR(STRING_ELT(options,0))); data/r-cran-geometry-0.4.5/src/global_r.c:2070:3: [4] (buffer) sprintf: Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or vsnprintf. sprintf(buf, " %s", option); data/r-cran-geometry-0.4.5/src/random_r.c:54: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/r-cran-geometry-0.4.5/src/random_r.c:86: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/r-cran-geometry-0.4.5/src/rboxlib_r.c:361: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/r-cran-geometry-0.4.5/src/userprintf_r.c:75:7: [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/r-cran-geometry-0.4.5/src/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/r-cran-geometry-0.4.5/src/user_r.h:279: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/r-cran-geometry-0.4.5/src/user_r.h:280: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/r-cran-geometry-0.4.5/src/user_r.h:289: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)seed); data/r-cran-geometry-0.4.5/src/user_r.h:294: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)seed); data/r-cran-geometry-0.4.5/src/user_r.h:298: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/r-cran-geometry-0.4.5/src/user_r.h:308: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/r-cran-geometry-0.4.5/src/Rconvhulln.c:42: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 errstr[ERRSTRSIZE]; data/r-cran-geometry-0.4.5/src/Rconvhulln.c:44: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 cmd[50] = "qhull"; data/r-cran-geometry-0.4.5/src/Rdelaunayn.c:51: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 errstr[ERRSTRSIZE]; data/r-cran-geometry-0.4.5/src/Rdelaunayn.c:53: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 cmd[50] = "qhull d Qbb T0"; data/r-cran-geometry-0.4.5/src/Rgeometry.c:38:157: [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. int qhullNewQhull(qhT *qh, const SEXP p, char* cmd, const SEXP options, const SEXP tmp_stdout, const SEXP tmp_stderr, unsigned int* pdim, unsigned int* pn, char errstr[ERRSTRSIZE]) { data/r-cran-geometry-0.4.5/src/Rgeometry.c:42: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_opt.htm */ data/r-cran-geometry-0.4.5/src/Rgeometry.c:88:15: [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). tmpstdout = fopen(name, "w"); data/r-cran-geometry-0.4.5/src/Rgeometry.c:90:13: [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). errfile = fopen(errname, "w+"); data/r-cran-geometry-0.4.5/src/Rgeometry.c:96: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/r-cran-geometry-0.4.5/src/Rgeometry.h:26:157: [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. int qhullNewQhull(qhT *qh, const SEXP p, char* cmd, const SEXP options, const SEXP tmp_stdout, const SEXP tmp_stderr, unsigned int* pdim, unsigned int* pn, char errstr[1000]); data/r-cran-geometry-0.4.5/src/Rhalfspacen.c:29: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 errstr[ERRSTRSIZE]; data/r-cran-geometry-0.4.5/src/Rhalfspacen.c:31: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 cmd[50] = "qhull H"; data/r-cran-geometry-0.4.5/src/geom2_r.c:40: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/r-cran-geometry-0.4.5/src/global_r.c:1298: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/r-cran-geometry-0.4.5/src/global_r.c:1318:15: [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/r-cran-geometry-0.4.5/src/global_r.c:1870: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/r-cran-geometry-0.4.5/src/global_r.c:2067: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/r-cran-geometry-0.4.5/src/global_r.c:2072: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/r-cran-geometry-0.4.5/src/global_r.c:2074: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/r-cran-geometry-0.4.5/src/io_r.c:3595: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/r-cran-geometry-0.4.5/src/libqhull_r.h:565: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/r-cran-geometry-0.4.5/src/libqhull_r.h:567: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/r-cran-geometry-0.4.5/src/libqhull_r.h:568: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/r-cran-geometry-0.4.5/src/libqhull_r.h:622: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/r-cran-geometry-0.4.5/src/libqhull_r.h:624: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/r-cran-geometry-0.4.5/src/libqhull_r.h:626: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/r-cran-geometry-0.4.5/src/libqhull_r.h:779: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/r-cran-geometry-0.4.5/src/poly2_r.c:2988: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, qh->normal_size); data/r-cran-geometry-0.4.5/src/poly2_r.c:2994: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, qh->center_size); data/r-cran-geometry-0.4.5/src/qset_r.c:186: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/r-cran-geometry-0.4.5/src/qset_r.c:319: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/r-cran-geometry-0.4.5/src/qset_r.c:551: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/r-cran-geometry-0.4.5/src/qset_r.c:869: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)(size+1) * SETelemsize); data/r-cran-geometry-0.4.5/src/qset_r.c:1004: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/r-cran-geometry-0.4.5/src/qset_r.c:1032: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/r-cran-geometry-0.4.5/src/rboxlib_r.c:90: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[400], seedbuf[200]; data/r-cran-geometry-0.4.5/src/rboxlib_r.c:357: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/r-cran-geometry-0.4.5/src/stat_r.h:488:14: [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/r-cran-geometry-0.4.5/src/stat_r.h:489: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/r-cran-geometry-0.4.5/src/stat_r.h:491: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/r-cran-geometry-0.4.5/src/stat_r.h:492: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/r-cran-geometry-0.4.5/src/Rdelaunayn.c:58: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 string. strncat(cmd, " Qz", 4); data/r-cran-geometry-0.4.5/src/Rgeometry.c:99:23: [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). (ERRSTRSIZE - strlen(errstr) - 1) > 0) { data/r-cran-geometry-0.4.5/src/Rgeometry.c:100:14: [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. errstr = strncat(errstr, buf, ERRSTRSIZE - strlen(errstr) - 1); data/r-cran-geometry-0.4.5/src/Rgeometry.c:100: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). errstr = strncat(errstr, buf, ERRSTRSIZE - strlen(errstr) - 1); data/r-cran-geometry-0.4.5/src/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/r-cran-geometry-0.4.5/src/global_r.c:144: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/r-cran-geometry-0.4.5/src/global_r.c:208: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/r-cran-geometry-0.4.5/src/global_r.c:213: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/r-cran-geometry-0.4.5/src/global_r.c:601: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/r-cran-geometry-0.4.5/src/global_r.c:601: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/r-cran-geometry-0.4.5/src/global_r.c:714: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/r-cran-geometry-0.4.5/src/global_r.c:2072: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/r-cran-geometry-0.4.5/src/global_r.c:2074: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/r-cran-geometry-0.4.5/src/global_r.c:2075:13: [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). len= (int)strlen(buf); /* WARN64 */ data/r-cran-geometry-0.4.5/src/global_r.c:2081: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", (size_t)(maxlen--)); data/r-cran-geometry-0.4.5/src/global_r.c:2083: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, (size_t)maxlen); data/r-cran-geometry-0.4.5/src/io_r.c:200:3: [1] (buffer) strncpy: Easily used incorrectly; doesn't always \0-terminate or check for invalid pointers [MS-banned] (CWE-120). strncpy(filename, source, length); data/r-cran-geometry-0.4.5/src/io_r.c:3698: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/r-cran-geometry-0.4.5/src/io_r.c:3716: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/r-cran-geometry-0.4.5/src/io_r.c:3828: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/r-cran-geometry-0.4.5/src/io_r.c:3932: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'; data/r-cran-geometry-0.4.5/src/libqhull_r.c:318: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/r-cran-geometry-0.4.5/src/random_r.c:53: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/r-cran-geometry-0.4.5/src/random_r.c:63: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/r-cran-geometry-0.4.5/src/random_r.c:63: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/r-cran-geometry-0.4.5/src/random_r.c:65: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/r-cran-geometry-0.4.5/src/random_r.c:85: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/r-cran-geometry-0.4.5/src/random_r.c:112: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/r-cran-geometry-0.4.5/src/rboxlib_r.c:104: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/r-cran-geometry-0.4.5/src/rboxlib_r.c:104: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/r-cran-geometry-0.4.5/src/rboxlib_r.c:358: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/r-cran-geometry-0.4.5/src/rboxlib_r.c:358: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). strncat(command, seedbuf, sizeof(command)-strlen(command)-1); ANALYSIS SUMMARY: Hits = 86 Lines analyzed = 29284 in approximately 0.91 seconds (32213 lines/second) Physical Source Lines of Code (SLOC) = 17887 Hits@level = [0] 3 [1] 32 [2] 41 [3] 6 [4] 7 [5] 0 Hits@level+ = [0+] 89 [1+] 86 [2+] 54 [3+] 13 [4+] 7 [5+] 0 Hits/KSLOC@level+ = [0+] 4.97568 [1+] 4.80796 [2+] 3.01895 [3+] 0.726785 [4+] 0.391346 [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.