From 678111cefaedc9e882e070f9218d500bdf9c062a Mon Sep 17 00:00:00 2001 From: cwhite911 Date: Tue, 14 Jul 2026 10:17:18 -0400 Subject: [PATCH] raster: Fix three single-alert CodeQL findings r.watershed (ram): checking sscanf against 0 misses the EOF return, so use != 1 as the seg variant already does. r.viewshed: bound the inner column loop by the local int ncols cast to dimensionType, matching the row loop, instead of comparing the unsigned short counter directly to Rast_window_cols(). r.in.gdal: drop the null check on sdsdesc, which is always assigned a non-null pointer beforehand. --- raster/r.in.gdal/main.c | 2 +- raster/r.viewshed/grass.cpp | 2 +- raster/r.watershed/ram/init_vars.c | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/raster/r.in.gdal/main.c b/raster/r.in.gdal/main.c index 3bfef8c1b98..34a66f9300b 100644 --- a/raster/r.in.gdal/main.c +++ b/raster/r.in.gdal/main.c @@ -491,7 +491,7 @@ int main(int argc, char *argv[]) *p = '\0'; } } - if (sdsdesc && *sdsdesc) + if (*sdsdesc) fprintf(stderr, " Description: %s\n", sdsdesc); if (sdsdim && *sdsdim) fprintf(stderr, " Dimension: %s\n", sdsdim); diff --git a/raster/r.viewshed/grass.cpp b/raster/r.viewshed/grass.cpp index 3e9f3297212..eb47d5d2054 100644 --- a/raster/r.viewshed/grass.cpp +++ b/raster/r.viewshed/grass.cpp @@ -972,7 +972,7 @@ void save_io_vis_and_elev_to_GRASS(IOVisibilityGrid *visgrid, char *elevfname, Rast_get_row(elevfd, elevrast, i, elev_data_type); - for (j = 0; j < Rast_window_cols(); j++) { + for (j = 0; j < (dimensionType)ncols; j++) { /* read the current elevation value */ // int isNull = 0; diff --git a/raster/r.watershed/ram/init_vars.c b/raster/r.watershed/ram/init_vars.c index 48669c00e1c..911ea374c77 100644 --- a/raster/r.watershed/ram/init_vars.c +++ b/raster/r.watershed/ram/init_vars.c @@ -83,7 +83,7 @@ int init_vars(int argc, char *argv[]) else if (sscanf(argv[r], "blocking=%s", ob_name) == 1) ob_flag++; else if (sscanf(argv[r], "disturbed_land=%s", ril_name) == 1) { - if (sscanf(ril_name, "%lf", &ril_value) == 0) { + if (sscanf(ril_name, "%lf", &ril_value) != 1) { ril_value = -1.0; ril_flag++; }