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-raster-3.4-5/src/spat.h Examining data/r-cran-raster-3.4-5/src/focal_get.cpp Examining data/r-cran-raster-3.4-5/src/clamp.cpp Examining data/r-cran-raster-3.4-5/src/rasterize.cpp Examining data/r-cran-raster-3.4-5/src/RasterModule.cpp Examining data/r-cran-raster-3.4-5/src/broom.cpp Examining data/r-cran-raster-3.4-5/src/terrain.cpp Examining data/r-cran-raster-3.4-5/src/util.cpp Examining data/r-cran-raster-3.4-5/src/layerize.cpp Examining data/r-cran-raster-3.4-5/src/area.cpp Examining data/r-cran-raster-3.4-5/src/aggregate.h Examining data/r-cran-raster-3.4-5/src/ppmin.cpp Examining data/r-cran-raster-3.4-5/src/memory.cpp Examining data/r-cran-raster-3.4-5/src/modal.cpp Examining data/r-cran-raster-3.4-5/src/distance.h Examining data/r-cran-raster-3.4-5/src/focal_fun.cpp Examining data/r-cran-raster-3.4-5/src/aggregate.cpp Examining data/r-cran-raster-3.4-5/src/reclass.cpp Examining data/r-cran-raster-3.4-5/src/edge.cpp Examining data/r-cran-raster-3.4-5/src/getPolygons.cpp Examining data/r-cran-raster-3.4-5/src/raster_distance.cpp Examining data/r-cran-raster-3.4-5/src/bilinear.cpp Examining data/r-cran-raster-3.4-5/src/memory.h Examining data/r-cran-raster-3.4-5/src/focal_sum.cpp Examining data/r-cran-raster-3.4-5/src/util.h Examining data/r-cran-raster-3.4-5/src/distance.cpp Examining data/r-cran-raster-3.4-5/src/cellRowCol.cpp Examining data/r-cran-raster-3.4-5/src/geodesic.h Examining data/r-cran-raster-3.4-5/src/xyCell.cpp Examining data/r-cran-raster-3.4-5/src/area.h Examining data/r-cran-raster-3.4-5/src/raster_aggregate.cpp Examining data/r-cran-raster-3.4-5/src/RcppExports.cpp Examining data/r-cran-raster-3.4-5/src/geodesic.c FINAL RESULTS: data/r-cran-raster-3.4-5/src/memory.cpp:26:14: [4] (shell) popen: This causes a new program to execute and is difficult to use safely (CWE-78). try using a library call that implements the same functionality if available. FILE *fp = popen("awk '/MemAvailable/ {print $2}' /proc/meminfo", "r"); data/r-cran-raster-3.4-5/src/memory.cpp:38:15: [4] (shell) popen: This causes a new program to execute and is difficult to use safely (CWE-78). try using a library call that implements the same functionality if available. FILE *fp2 = popen("awk -v low=$(grep low /proc/zoneinfo | awk '{k+=$2}END{print k}') '{a[$1]=$2}END{print a[\"MemFree:\"]+a[\"Active(file):\"]+a[\"Inactive(file):\"]+a[\"SReclaimable:\"]-(12*low);}' /proc/meminfo", "r"); ANALYSIS SUMMARY: Hits = 2 Lines analyzed = 6174 in approximately 0.23 seconds (27385 lines/second) Physical Source Lines of Code (SLOC) = 4133 Hits@level = [0] 2 [1] 0 [2] 0 [3] 0 [4] 2 [5] 0 Hits@level+ = [0+] 4 [1+] 2 [2+] 2 [3+] 2 [4+] 2 [5+] 0 Hits/KSLOC@level+ = [0+] 0.96782 [1+] 0.48391 [2+] 0.48391 [3+] 0.48391 [4+] 0.48391 [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.