diff options
author | Ian Delaney <idella4@gentoo.org> | 2015-10-23 14:52:09 +0800 |
---|---|---|
committer | Ian Delaney <idella4@gentoo.org> | 2015-10-23 14:52:53 +0800 |
commit | ea4be14d06c027b2e0dcdf0c3beab1b2cf45e3ee (patch) | |
tree | 4db3309331a59a39d0f87ff343156abae23ea12d /sci-geosciences/grass/files | |
parent | sys-process/nmon: Version bump. (diff) | |
download | gentoo-ea4be14d06c027b2e0dcdf0c3beab1b2cf45e3ee.tar.gz gentoo-ea4be14d06c027b2e0dcdf0c3beab1b2cf45e3ee.tar.bz2 gentoo-ea4be14d06c027b2e0dcdf0c3beab1b2cf45e3ee.zip |
sci-geosciences/grass: patch, fixes failure built with format-security
qa issue; error filed upstream by 'wraeth', patch rebased from the
upstream commit, runtested by myself, closes gentoo bug
Upstream patch: https://trac.osgeo.org/grass/changeset/66561
Gentoo bug: #563490
Package-Manager: portage-2.2.20.1
Diffstat (limited to 'sci-geosciences/grass/files')
-rw-r--r-- | sci-geosciences/grass/files/7.0.1-sec-format.patch | 1026 |
1 files changed, 1026 insertions, 0 deletions
diff --git a/sci-geosciences/grass/files/7.0.1-sec-format.patch b/sci-geosciences/grass/files/7.0.1-sec-format.patch new file mode 100644 index 000000000000..a545a2b0bb91 --- /dev/null +++ b/sci-geosciences/grass/files/7.0.1-sec-format.patch @@ -0,0 +1,1026 @@ +rebased patch by 'wraeth' from +https://trac.osgeo.org/grass/changeset/66561 +diff --git a/db/drivers/dbf/column.c b/db/drivers/dbf/column.c +index ee0fd6e..1d2780e 100644 +--- a/db/drivers/dbf/column.c ++++ b/db/drivers/dbf/column.c +@@ -40,7 +40,7 @@ int add_column(int tab, int type, char *name, int width, int decimals) + sprintf(buf, "DBMI-DBF driver: column name '%s'", name); + name[DBF_COL_NAME - 1] = '\0'; + sprintf(buf + strlen(buf), " truncated to '%s'", name); +- G_warning(buf); ++ G_warning("%s", buf); + } + + /* Check if the column exists */ +diff --git a/db/drivers/ogr/select.c b/db/drivers/ogr/select.c +index 27ae090..6584bd5 100644 +--- a/db/drivers/ogr/select.c ++++ b/db/drivers/ogr/select.c +@@ -48,7 +48,7 @@ int db__driver_open_select_cursor(dbString * sel, dbCursor * dbc, int mode) + + if (c->hLayer == NULL) { + db_d_append_error(_("Unable to select: \n")); +- db_d_append_error(db_get_string(sel)); ++ db_d_append_error("%s", db_get_string(sel)); + db_d_append_error("\n"); + db_d_report_error(); + return DB_FAILED; +diff --git a/db/drivers/postgres/db.c b/db/drivers/postgres/db.c +index b02bade..5e171eb 100644 +--- a/db/drivers/postgres/db.c ++++ b/db/drivers/postgres/db.c +@@ -248,7 +248,7 @@ int create_delete_db(dbHandle *handle, int create) + if (PQstatus(pg_conn) == CONNECTION_BAD) { + db_d_append_error(_("Connection failed.")); + db_d_append_error("\n"); +- db_d_append_error(PQerrorMessage(pg_conn)); ++ db_d_append_error("%s", PQerrorMessage(pg_conn)); + db_d_report_error(); + PQfinish(pg_conn); + return DB_FAILED; +@@ -269,7 +269,7 @@ int create_delete_db(dbHandle *handle, int create) + else + db_d_append_error(_("Unable to drop database <%s>"), name); + db_d_append_error("\n"); +- db_d_append_error(PQerrorMessage(pg_conn)); ++ db_d_append_error("%s", PQerrorMessage(pg_conn)); + db_d_report_error(); + + PQclear(res); +diff --git a/imagery/i.landsat.toar/landsat_met.c b/imagery/i.landsat.toar/landsat_met.c +index 506d719..5b612a4 100644 +--- a/imagery/i.landsat.toar/landsat_met.c ++++ b/imagery/i.landsat.toar/landsat_met.c +@@ -384,14 +384,14 @@ void lsat_metadata(char *metafile, lsat_data * lsat) + sprintf(key, "Band%dGainSetting", lsat->band[i].code); + get_mtldata(mtldata, key, value); + if (value[0] == '\0') { +- G_warning(key); ++ G_warning("%s", key); + continue; + } + lsat->band[i].gain = atof(value); + sprintf(key, "Band%dBiasSetting", lsat->band[i].code); + get_mtldata(mtldata, key, value); + if (value[0] == '\0') { +- G_warning(key); ++ G_warning("%s", key); + continue; + } + lsat->band[i].bias = atof(value); +diff --git a/imagery/i.ortho.photo/i.ortho.rectify/cp.c b/imagery/i.ortho.photo/i.ortho.rectify/cp.c +index b8ec48c..86e5b33 100644 +--- a/imagery/i.ortho.photo/i.ortho.rectify/cp.c ++++ b/imagery/i.ortho.photo/i.ortho.rectify/cp.c +@@ -31,7 +31,7 @@ int get_conz_points(void) + default: + return 1; + } +- G_fatal_error(msg); ++ G_fatal_error("%s", msg); + } + + int get_ref_points(void) +@@ -61,6 +61,6 @@ int get_ref_points(void) + default: + return 1; + } +- G_fatal_error(msg); ++ G_fatal_error("%s", msg); + /* exit(1); shouldn't get here */ + } +diff --git a/imagery/i.ortho.photo/i.ortho.rectify/target.c b/imagery/i.ortho.photo/i.ortho.rectify/target.c +index 99f8480..462833a 100644 +--- a/imagery/i.ortho.photo/i.ortho.rectify/target.c ++++ b/imagery/i.ortho.photo/i.ortho.rectify/target.c +@@ -31,5 +31,5 @@ int get_target(char *group) + sprintf(buf, _("Mapset <%s> in target location <%s> - "), mapset, location); + strcat(buf, stat == 0 ? _("permission denied") : _("not found")); + error: +- G_fatal_error(buf); ++ G_fatal_error("%s", buf); + } +diff --git a/imagery/i.ortho.photo/lib/camera.c b/imagery/i.ortho.photo/lib/camera.c +index 26e454e..7d298be 100644 +--- a/imagery/i.ortho.photo/lib/camera.c ++++ b/imagery/i.ortho.photo/lib/camera.c +@@ -36,7 +36,7 @@ int I_get_group_camera(char *group, char *camera) + sprintf(buf, + _("Unable to open camera file for group <%s> in mapset <%s>"), + group, G_mapset()); +- G_warning(buf); ++ G_warning("%s", buf); + return 0; + } + G_getl2(buf, sizeof(buf), fd); +diff --git a/imagery/i.ortho.photo/lib/conz_points.c b/imagery/i.ortho.photo/lib/conz_points.c +index ad604dd..9d6f940 100644 +--- a/imagery/i.ortho.photo/lib/conz_points.c ++++ b/imagery/i.ortho.photo/lib/conz_points.c +@@ -104,7 +104,7 @@ int I_get_con_points(char *group, struct Ortho_Control_Points *cp) + sprintf(msg, + "unable to open control point (Z) file for group [%s in %s]", + group, G_mapset()); +- G_warning(msg); ++ G_warning("%s", msg); + G_sleep(4); + return 0; + } +@@ -114,7 +114,7 @@ int I_get_con_points(char *group, struct Ortho_Control_Points *cp) + if (stat < 0) { + sprintf(msg, "bad format in control point file for group [%s in %s]", + group, G_mapset()); +- G_warning(msg); ++ G_warning("%s", msg); + G_sleep(4); + return 0; + } +@@ -131,7 +131,7 @@ int I_put_con_points(char *group, struct Ortho_Control_Points *cp) + sprintf(msg, + "unable to create control point file for group [%s in %s]", + group, G_mapset()); +- G_warning(msg); ++ G_warning("%s", msg); + G_sleep(4); + return 0; + } +@@ -156,7 +156,7 @@ int I_convert_con_points(char *group, struct Ortho_Control_Points *con_cp, + sprintf(msg, + "unable to open control point (Z) file for group [%s in %s]", + group, G_mapset()); +- G_warning(msg); ++ G_warning("%s", msg); + G_sleep(4); + return 0; + } +@@ -166,7 +166,7 @@ int I_convert_con_points(char *group, struct Ortho_Control_Points *con_cp, + if (stat < 0) { + sprintf(msg, "bad format in control point file for group [%s in %s]", + group, G_mapset()); +- G_warning(msg); ++ G_warning("%s", msg); + G_sleep(4); + return 0; + } +diff --git a/imagery/i.ortho.photo/lib/fopen_camera.c b/imagery/i.ortho.photo/lib/fopen_camera.c +index 93cb326..2e904e9 100644 +--- a/imagery/i.ortho.photo/lib/fopen_camera.c ++++ b/imagery/i.ortho.photo/lib/fopen_camera.c +@@ -46,7 +46,7 @@ static int error(char *camera, char *msga, char *msgb) + + sprintf(buf, "%s camera file [%s] in [%s %s] %s", + msga, camera, G_location(), G_mapset(), msgb); +- G_warning(buf); ++ G_warning("%s", buf); + + return 0; + } +diff --git a/imagery/i.ortho.photo/lib/init_info.c b/imagery/i.ortho.photo/lib/init_info.c +index 0bb1a67..11f4bc6 100644 +--- a/imagery/i.ortho.photo/lib/init_info.c ++++ b/imagery/i.ortho.photo/lib/init_info.c +@@ -101,7 +101,7 @@ int I_get_init_info(char *group, struct Ortho_Camera_Exp_Init *init_info) + if (fd == NULL) { + sprintf(msg, "unable to open camera initial file %s in %s", + group, G_mapset()); +- G_warning(msg); ++ G_warning("%s", msg); + return 0; + } + +@@ -110,7 +110,7 @@ int I_get_init_info(char *group, struct Ortho_Camera_Exp_Init *init_info) + if (stat < 0) { + sprintf(msg, "bad format in camera initial file %s in %s", + group, G_mapset()); +- G_warning(msg); ++ G_warning("%s", msg); + return 0; + } + return 1; +@@ -125,7 +125,7 @@ int I_put_init_info(char *group, struct Ortho_Camera_Exp_Init *init_info) + if (fd == NULL) { + sprintf(msg, "unable to open camera initial file %s in %s", + group, G_mapset()); +- G_warning(msg); ++ G_warning("%s", msg); + return 0; + } + +diff --git a/imagery/i.ortho.photo/lib/m_mult.c b/imagery/i.ortho.photo/lib/m_mult.c +index 301ebc0..b93a512 100644 +--- a/imagery/i.ortho.photo/lib/m_mult.c ++++ b/imagery/i.ortho.photo/lib/m_mult.c +@@ -21,7 +21,7 @@ int m_mult(MATRIX * a, MATRIX * b, MATRIX * c) + if (a->ncols != b->nrows) { + sprintf(message, "*: matrices not conformable, %d x %d * %d x %d\n", + a->nrows, a->ncols, b->nrows, b->ncols); +- fprintf(stderr, message); ++ fprintf(stderr, "%s", message); + return error(message); + } + +diff --git a/imagery/i.ortho.photo/lib/open_camera.c b/imagery/i.ortho.photo/lib/open_camera.c +index 30c6184..1b7af57 100644 +--- a/imagery/i.ortho.photo/lib/open_camera.c ++++ b/imagery/i.ortho.photo/lib/open_camera.c +@@ -50,7 +50,7 @@ static int camera_error(char *camera, char *file, char *msga, char *msgb) + + sprintf(buf, "%sfile [%s] of group [%s in %s]%s", + msga, file, camera, G_mapset(), msgb); +- G_warning(buf); ++ G_warning("%s", buf); + + return 0; + } +diff --git a/imagery/i.ortho.photo/lib/ref_points.c b/imagery/i.ortho.photo/lib/ref_points.c +index 6f03e8d..2fa6e65 100644 +--- a/imagery/i.ortho.photo/lib/ref_points.c ++++ b/imagery/i.ortho.photo/lib/ref_points.c +@@ -97,7 +97,7 @@ int I_get_ref_points(char *groupname, struct Ortho_Photo_Points *cp) + sprintf(msg, + "unable to open reference point file for group [%s in %s]", + groupname, G_mapset()); +- G_warning(msg); ++ G_warning("%s", msg); + return 0; + } + +@@ -108,7 +108,7 @@ int I_get_ref_points(char *groupname, struct Ortho_Photo_Points *cp) + sprintf(msg, + "bad format in reference point file for group [%s in %s]", + groupname, G_mapset()); +- G_warning(msg); ++ G_warning("%s", msg); + return 0; + } + return 1; +@@ -124,7 +124,7 @@ int I_put_ref_points(char *groupname, struct Ortho_Photo_Points *cp) + sprintf(msg, + "unable to create reference point file for group [%s in %s]", + groupname, G_mapset()); +- G_warning(msg); ++ G_warning("%s", msg); + return 0; + } + +diff --git a/imagery/i.rectify/cp.c b/imagery/i.rectify/cp.c +index b0b2123..5cf06d6 100644 +--- a/imagery/i.rectify/cp.c ++++ b/imagery/i.rectify/cp.c +@@ -67,7 +67,7 @@ int get_control_points(char *group, int order /* THIS HAS BEEN ADDED WITH THE CR + return 1; + } + } +- G_fatal_error(msg); ++ G_fatal_error("%s", msg); + + return 0; /* G_fatal_error() calls exit() */ + } +diff --git a/imagery/i.rectify/target.c b/imagery/i.rectify/target.c +index d97e3df..043628c 100644 +--- a/imagery/i.rectify/target.c ++++ b/imagery/i.rectify/target.c +@@ -34,6 +34,6 @@ int get_target(char *group) + error: + strcat(buf, _("Please run i.target for group.")); + strcat(buf, group); +- G_fatal_error(buf); ++ G_fatal_error("%s", buf); + return 1; /* never reached */ + } +diff --git a/raster/r.external/proj.c b/raster/r.external/proj.c +index d984196..9d1626f 100644 +--- a/raster/r.external/proj.c ++++ b/raster/r.external/proj.c +@@ -110,7 +110,7 @@ void check_projection(struct Cell_head *cellhd, GDALDatasetH hDS, int override) + strcat(error_msg, + _("Consider generating a new location from the input dataset using " + "the 'location' parameter.\n")); +- G_fatal_error(error_msg); ++ G_fatal_error("%s", error_msg); + } + else { + G_message(_("Projection of input dataset and current location " +diff --git a/raster/r.flow/mem.h b/raster/r.flow/mem.h +index ca34e0a..f763fac 100644 +--- a/raster/r.flow/mem.h ++++ b/raster/r.flow/mem.h +@@ -33,7 +33,7 @@ void put_row_seg( /* l, row */ ); + Segment_get_row(l.seg, l.buf[row] - l.col_offset, \ + row + l.row_offset) < 1)) ? \ + (sprintf(string, "r.flow: cannot write segment file for %s", l.name),\ +- G_fatal_error(string), (DCELL *) NULL) : \ ++ G_fatal_error("%s", string), (DCELL *) NULL) : \ + l.buf[row]) + + /* This was is Astley's version 12... +@@ -52,7 +52,7 @@ void put_row_seg( /* l, row */ ); + (Segment_get(as.seg, &v, \ + row + as.row_offset, col + as.col_offset) < 1 ? \ + (sprintf(string,"r.flow: cannot read segment file for %s",as.name), \ +- G_fatal_error(string), 0) : \ ++ G_fatal_error("%s", string), 0) : \ + v) : \ + (parm.mem ? \ + aspect_fly(el.buf[row - 1] + col, \ +@@ -64,7 +64,7 @@ void put_row_seg( /* l, row */ ); + (parm.seg ? \ + (Segment_get(l.seg, &v, row + l.row_offset, col + l.col_offset) < 1 ? \ + (sprintf(string,"r.flow: cannot read segment file for %s",l.name),\ +- G_fatal_error(string), 0) : \ ++ G_fatal_error("%s", string), 0) : \ + v) : \ + l.buf[row][col]) + +@@ -72,7 +72,7 @@ void put_row_seg( /* l, row */ ); + (parm.seg ? \ + (v = w, \ + Segment_put(l.seg, &v, row + l.row_offset, col + l.col_offset) < 1 ? \ +- (sprintf(string,"r.flow: cannot write segment file for %s",l.name), \ +- G_fatal_error(string), 0) : \ ++ (sprintf(string, "r.flow: cannot write segment file for %s",l.name), \ ++ G_fatal_error("%s", string), 0) : \ + 0) : \ + (l.buf[row][col] = w)) +diff --git a/raster/r.in.gdal/main.c b/raster/r.in.gdal/main.c +index 778b5f4..457f22e 100644 +--- a/raster/r.in.gdal/main.c ++++ b/raster/r.in.gdal/main.c +@@ -872,7 +872,7 @@ static void SetupReprojector(const char *pszSrcWKT, const char *pszDstLoc, + target_mapset, pszDstLoc); + strcat(errbuf, permissions == 0 ? _("permission denied") + : _("not found")); +- G_fatal_error(errbuf); ++ G_fatal_error("%s", errbuf); + } /* permission check */ + + /* And switch back to original location */ +diff --git a/raster/r.in.lidar/main.c b/raster/r.in.lidar/main.c +index aae2dcb..390f990 100644 +--- a/raster/r.in.lidar/main.c ++++ b/raster/r.in.lidar/main.c +@@ -451,7 +451,7 @@ int main(int argc, char *argv[]) + strcat(error_msg, + _("Consider generating a new location with 'location' parameter" + " from input data set.\n")); +- G_fatal_error(error_msg); ++ G_fatal_error("%s", error_msg); + } + else if (!shell_style->answer) { + G_message(_("Projection of input dataset and current location " +@@ -1229,7 +1229,7 @@ int main(int argc, char *argv[]) + + + sprintf(buff, _("%lu points found in region."), count_total); +- G_done_msg(buff); ++ G_done_msg("%s", buff); + G_debug(1, "Processed %lu points.", line_total); + + exit(EXIT_SUCCESS); +diff --git a/raster/r.in.xyz/main.c b/raster/r.in.xyz/main.c +index d4ce602..2580217 100644 +--- a/raster/r.in.xyz/main.c ++++ b/raster/r.in.xyz/main.c +@@ -1153,7 +1153,7 @@ int main(int argc, char *argv[]) + + + sprintf(buff, _("%lu points found in region."), count_total); +- G_done_msg(buff); ++ G_done_msg("%s", buff); + G_debug(1, "Processed %lu lines.", line); + + exit(EXIT_SUCCESS); +diff --git a/raster/r.profile/main.c b/raster/r.profile/main.c +index 458ff75..dba7ceb 100644 +--- a/raster/r.profile/main.c ++++ b/raster/r.profile/main.c +@@ -187,7 +187,7 @@ int main(int argc, char *argv[]) + sprintf(formatbuff, _("Along track dist. [%s], Elevation"), unit); + if (clr) + strcat(formatbuff, _(" RGB color")); +- G_message(formatbuff); ++ G_message("%s", formatbuff); + + /* Get Profile Start Coords */ + if (parm.coord_file->answer) { +diff --git a/raster/r.quant/read_rules.c b/raster/r.quant/read_rules.c +index a4e467c..d255ccd 100644 +--- a/raster/r.quant/read_rules.c ++++ b/raster/r.quant/read_rules.c +@@ -20,13 +20,13 @@ int read_range(void) + for (i = 0; i < noi; i++) { + if (Rast_read_fp_range(name[i], G_mapset(), &drange) <= 0) { + sprintf(buff, "Can't read f_range for map %s", name[i]); +- G_fatal_error(buff); ++ G_fatal_error("%s", buff); + } + Rast_get_fp_range_min_max(&drange, &tmp_dmin, &tmp_dmax); + + if (Rast_read_range(name[i], G_mapset(), &range) <= 0) { + sprintf(buff, "Can't read range for map %s", name[i]); +- G_fatal_error(buff); ++ G_fatal_error("%s", buff); + } + Rast_get_range_min_max(&range, &tmp_min, &tmp_max); + if (!i || tmp_max > old_max || Rast_is_c_null_value(&old_max)) +diff --git a/raster/r.random.surface/init.c b/raster/r.random.surface/init.c +index c19046b..738d843 100644 +--- a/raster/r.random.surface/init.c ++++ b/raster/r.random.surface/init.c +@@ -110,7 +110,7 @@ void Init(void) + Seeds[i] = Seeds[i] % SEED_MAX; + sprintf(msg2, _(" seed is set to %d"), Seeds[i]); + strcat(msg, msg2); +- G_warning(msg); ++ G_warning("%s", msg); + } + else if (Seeds[i] < SEED_MIN) { + sprintf(msg, _("Seed (%d) smaller than minimum (%d)"), +@@ -119,7 +119,7 @@ void Init(void) + Seeds[i] += SEED_MAX - SEED_MIN; + sprintf(msg2, _(" seed is set to %d"), Seeds[i]); + strcat(msg, msg2); +- G_warning(msg); ++ G_warning("%s", msg); + } + } /* /for */ + } /* /else */ +diff --git a/raster/r.reclass/main.c b/raster/r.reclass/main.c +index c3a8463..e640088 100644 +--- a/raster/r.reclass/main.c ++++ b/raster/r.reclass/main.c +@@ -121,7 +121,7 @@ int main(int argc, char *argv[]) + } + else { + strcat(buf, _(" - invalid reclass rule")); +- G_fatal_error(buf); ++ G_fatal_error("%s", buf); + } + break; + +diff --git a/raster/r.to.rast3/main.c b/raster/r.to.rast3/main.c +index 7a6e790..4901b27 100644 +--- a/raster/r.to.rast3/main.c ++++ b/raster/r.to.rast3/main.c +@@ -64,7 +64,7 @@ void fatal_error(void *map, int *fd, int depths, char *errorMsg) + close_input_raster_map(fd[i]); + } + +- Rast3d_fatal_error(errorMsg); ++ Rast3d_fatal_error("%s", errorMsg); + exit(EXIT_FAILURE); + + } +diff --git a/raster/r.to.rast3elev/main.c b/raster/r.to.rast3elev/main.c +index 1766514..fcd0286 100644 +--- a/raster/r.to.rast3elev/main.c ++++ b/raster/r.to.rast3elev/main.c +@@ -142,7 +142,7 @@ void fatal_error(Database db, char *errorMsg) + if (db.elev) + close_input_raster_map(db.elev); + +- Rast3d_fatal_error(errorMsg); ++ Rast3d_fatal_error("%s", errorMsg); + exit(EXIT_FAILURE); + } + +diff --git a/raster/r.to.vect/main.c b/raster/r.to.vect/main.c +index bc7bb93..9db8ed6 100644 +--- a/raster/r.to.vect/main.c ++++ b/raster/r.to.vect/main.c +@@ -216,7 +216,7 @@ int main(int argc, char *argv[]) + + db_append_string(&sql, ")"); + +- G_debug(3, db_get_string(&sql)); ++ G_debug(3, "%s", db_get_string(&sql)); + + if (db_execute_immediate(driver, &sql) != DB_OK) + G_fatal_error(_("Unable to create table: %s"), +@@ -296,7 +296,7 @@ int main(int argc, char *argv[]) + sprintf(buf, "insert into %s values ( %d, '%s')", Fi->table, + cat, db_get_string(&label)); + db_set_string(&sql, buf); +- G_debug(3, db_get_string(&sql)); ++ G_debug(3, "%s", db_get_string(&sql)); + + if (db_execute_immediate(driver, &sql) != DB_OK) + G_fatal_error(_("Unable to insert into table: %s"), +diff --git a/raster/r.to.vect/util.c b/raster/r.to.vect/util.c +index eebc212..bc8a39c 100644 +--- a/raster/r.to.vect/util.c ++++ b/raster/r.to.vect/util.c +@@ -151,7 +151,7 @@ void insert_value(int cat, int val, double dval) + + db_append_string(&sql, ")"); + +- G_debug(3, db_get_string(&sql)); ++ G_debug(3, "%s", db_get_string(&sql)); + + if (db_execute_immediate(driver, &sql) != DB_OK) + G_fatal_error(_("Cannot insert new row: %s"), db_get_string(&sql)); +diff --git a/raster3d/r3.cross.rast/main.c b/raster3d/r3.cross.rast/main.c +index 1dadcde..600384f 100644 +--- a/raster3d/r3.cross.rast/main.c ++++ b/raster3d/r3.cross.rast/main.c +@@ -62,7 +62,7 @@ void fatal_error(void *map, int elevfd, int outfd, char *errorMsg) + if (elevfd != -1) + close_output_map(elevfd); + +- Rast3d_fatal_error(errorMsg); ++ Rast3d_fatal_error("%s", errorMsg); + exit(EXIT_FAILURE); + + } +diff --git a/raster3d/r3.in.ascii/main.c b/raster3d/r3.in.ascii/main.c +index 9e92285..a67d7ad 100644 +--- a/raster3d/r3.in.ascii/main.c ++++ b/raster3d/r3.in.ascii/main.c +@@ -65,7 +65,7 @@ void fatalError(char *errorMsg) + Rast3d_close(map); + } + +- Rast3d_fatal_error(errorMsg); ++ Rast3d_fatal_error("%s", errorMsg); + } + + /*---------------------------------------------------------------------------*/ +diff --git a/raster3d/r3.in.v5d/main.c b/raster3d/r3.in.v5d/main.c +index 7d1652f..d258818 100644 +--- a/raster3d/r3.in.v5d/main.c ++++ b/raster3d/r3.in.v5d/main.c +@@ -48,7 +48,7 @@ static void fatalError(char *errorMsg) + /* should unopen map here! */ + } + +- Rast3d_fatal_error(errorMsg); ++ Rast3d_fatal_error("%s", errorMsg); + } + + /*---------------------------------------------------------------------------*/ +diff --git a/raster3d/r3.out.ascii/main.c b/raster3d/r3.out.ascii/main.c +index 72d50bd..2af12d0 100644 +--- a/raster3d/r3.out.ascii/main.c ++++ b/raster3d/r3.out.ascii/main.c +@@ -64,7 +64,7 @@ void fatalError(char *errorMsg) + + } + +- Rast3d_fatal_error(errorMsg); ++ Rast3d_fatal_error("%s", errorMsg); + } + + /*---------------------------------------------------------------------------*/ +diff --git a/raster3d/r3.out.v5d/main.c b/raster3d/r3.out.v5d/main.c +index 5d54b1f..7b74c33 100644 +--- a/raster3d/r3.out.v5d/main.c ++++ b/raster3d/r3.out.v5d/main.c +@@ -55,7 +55,7 @@ void fatalError(char *errorMsg) + fatalError(_("Unable to close 3D raster map")); + } + +- Rast3d_fatal_error(errorMsg); ++ Rast3d_fatal_error("%s", errorMsg); + } + + /*---------------------------------------------------------------------------*/ +diff --git a/raster3d/r3.retile/main.c b/raster3d/r3.retile/main.c +index 10fb26e..c10d7f5 100644 +--- a/raster3d/r3.retile/main.c ++++ b/raster3d/r3.retile/main.c +@@ -54,7 +54,7 @@ void fatal_error(void *map, int *fd, int depths, char *errorMsg) + Rast_unopen(fd[i]); + } + +- Rast3d_fatal_error(errorMsg); ++ Rast3d_fatal_error("%s", errorMsg); + exit(EXIT_FAILURE); + + } +diff --git a/raster3d/r3.to.rast/main.c b/raster3d/r3.to.rast/main.c +index 9006d22..1119f26 100644 +--- a/raster3d/r3.to.rast/main.c ++++ b/raster3d/r3.to.rast/main.c +@@ -60,7 +60,7 @@ void fatal_error(void *map, int *fd, int depths, char *errorMsg) + Rast_unopen(fd[i]); + } + +- Rast3d_fatal_error(errorMsg); ++ Rast3d_fatal_error("%s", errorMsg); + exit(EXIT_FAILURE); + + } +diff --git a/vector/v.in.ascii/main.c b/vector/v.in.ascii/main.c +index adcd9d2..dae9c59 100644 +--- a/vector/v.in.ascii/main.c ++++ b/vector/v.in.ascii/main.c +@@ -404,7 +404,7 @@ int main(int argc, char *argv[]) + Fi->driver); + + /* Create table */ +- G_debug(3, db_get_string(&sql)); ++ G_debug(3, "%s", db_get_string(&sql)); + if (db_execute_immediate(driver, &sql) != DB_OK) { + G_fatal_error(_("Unable to create table: %s"), + db_get_string(&sql)); +diff --git a/vector/v.in.ascii/points.c b/vector/v.in.ascii/points.c +index a3c5186..bfa6d2f 100644 +--- a/vector/v.in.ascii/points.c ++++ b/vector/v.in.ascii/points.c +@@ -446,7 +446,7 @@ int points_to_bin(FILE * ascii, int rowlen, struct Map_info *Map, + db_append_string(&sql, buf2); + } + db_append_string(&sql, ")"); +- G_debug(3, db_get_string(&sql)); ++ G_debug(3, "%s", db_get_string(&sql)); + + if (db_execute_immediate(driver, &sql) != DB_OK) { + G_fatal_error(_("Unable to insert new record: %s"), +diff --git a/vector/v.in.lidar/main.c b/vector/v.in.lidar/main.c +index 6b22cbe..f4cd4cf 100644 +--- a/vector/v.in.lidar/main.c ++++ b/vector/v.in.lidar/main.c +@@ -472,7 +472,7 @@ int main(int argc, char *argv[]) + strcat(error_msg, + _("Consider generating a new location with 'location' parameter" + " from input data set.\n")); +- G_fatal_error(error_msg); ++ G_fatal_error("%s", error_msg); + } + else { + G_verbose_message(_("Projection of input dataset and current " +@@ -596,7 +596,7 @@ int main(int argc, char *argv[]) + } + + db_append_string(&sql, ")"); +- G_debug(3, db_get_string(&sql)); ++ G_debug(3, "%s", db_get_string(&sql)); + + driver = + db_start_driver_open_database(Fi->driver, +@@ -778,7 +778,7 @@ int main(int argc, char *argv[]) + db_append_string(&sql, buf); + } + db_append_string(&sql, " )"); +- G_debug(3, db_get_string(&sql)); ++ G_debug(3, "%s", db_get_string(&sql)); + + if (db_execute_immediate(driver, &sql) != DB_OK) { + G_fatal_error(_("Cannot insert new row: %s"), +diff --git a/vector/v.in.ogr/main.c b/vector/v.in.ogr/main.c +index 6604065..1b16e85 100644 +--- a/vector/v.in.ogr/main.c ++++ b/vector/v.in.ogr/main.c +@@ -1101,7 +1101,7 @@ int main(int argc, char *argv[]) + G_free(Ogr_fieldname); + } + db_append_string(&sql, ")"); +- G_debug(3, db_get_string(&sql)); ++ G_debug(3, "%s", db_get_string(&sql)); + + driver = + db_start_driver_open_database(Fi->driver, +@@ -1236,7 +1236,7 @@ int main(int argc, char *argv[]) + db_append_string(&sql, buf); + } + db_append_string(&sql, " )"); +- G_debug(3, db_get_string(&sql)); ++ G_debug(3, "%s", db_get_string(&sql)); + + if (db_execute_immediate(driver, &sql) != DB_OK) { + db_close_database(driver); +diff --git a/vector/v.net.allpairs/main.c b/vector/v.net.allpairs/main.c +index ae877fd..b459021 100644 +--- a/vector/v.net.allpairs/main.c ++++ b/vector/v.net.allpairs/main.c +@@ -172,7 +172,7 @@ int main(int argc, char *argv[]) + Fi->table); + + db_set_string(&sql, buf); +- G_debug(2, db_get_string(&sql)); ++ G_debug(2, "%s", db_get_string(&sql)); + + if (db_execute_immediate(driver, &sql) != DB_OK) { + db_close_database_shutdown_driver(driver); +@@ -264,7 +264,7 @@ int main(int argc, char *argv[]) + sprintf(buf, "insert into %s values (%d, %d, %d, %f)", + Fi->table, cat, spnode[i].cat, spnode[j].cat, cost); + db_set_string(&sql, buf); +- G_debug(3, db_get_string(&sql)); ++ G_debug(3, "%s", db_get_string(&sql)); + + if (db_execute_immediate(driver, &sql) != DB_OK) { + db_close_database_shutdown_driver(driver); +diff --git a/vector/v.net.centrality/main.c b/vector/v.net.centrality/main.c +index 0f89bb3..fc7058f 100644 +--- a/vector/v.net.centrality/main.c ++++ b/vector/v.net.centrality/main.c +@@ -260,7 +260,7 @@ int main(int argc, char *argv[]) + "create table %s(cat integer%s)", Fi->table, db_get_string(&tmp)); + + db_set_string(&sql, buf); +- G_debug(2, db_get_string(&sql)); ++ G_debug(2, "%s", db_get_string(&sql)); + + if (db_execute_immediate(driver, &sql) != DB_OK) { + G_fatal_error(_("Unable to create table: '%s'"), db_get_string(&sql)); +diff --git a/vector/v.net.components/main.c b/vector/v.net.components/main.c +index 0520651..9a1d6dd 100644 +--- a/vector/v.net.components/main.c ++++ b/vector/v.net.components/main.c +@@ -31,7 +31,7 @@ int insert_new_record(dbDriver * driver, struct field_info *Fi, + + sprintf(buf, "insert into %s values (%d, %d)", Fi->table, cat, comp); + db_set_string(sql, buf); +- G_debug(3, db_get_string(sql)); ++ G_debug(3, "%s", db_get_string(sql)); + + if (db_execute_immediate(driver, sql) != DB_OK) { + db_close_database_shutdown_driver(driver); +@@ -182,7 +182,7 @@ int main(int argc, char *argv[]) + sprintf(buf, "create table %s ( cat integer, comp integer)", Fi->table); + + db_set_string(&sql, buf); +- G_debug(2, db_get_string(&sql)); ++ G_debug(2, "%s", db_get_string(&sql)); + + if (db_execute_immediate(driver, &sql) != DB_OK) { + db_close_database_shutdown_driver(driver); +diff --git a/vector/v.net.distance/main.c b/vector/v.net.distance/main.c +index fbf61c8..0bd04ac 100644 +--- a/vector/v.net.distance/main.c ++++ b/vector/v.net.distance/main.c +@@ -257,7 +257,7 @@ int main(int argc, char *argv[]) + Fi->table); + + db_set_string(&sql, buf); +- G_debug(2, db_get_string(&sql)); ++ G_debug(2, "%s", db_get_string(&sql)); + + if (db_execute_immediate(driver, &sql) != DB_OK) { + G_fatal_error(_("Unable to create table: '%s'"), db_get_string(&sql)); +@@ -320,7 +320,7 @@ int main(int argc, char *argv[]) + tcat, cost); + + db_set_string(&sql, buf); +- G_debug(3, db_get_string(&sql)); ++ G_debug(3, "%s", db_get_string(&sql)); + if (db_execute_immediate(driver, &sql) != DB_OK) { + G_fatal_error(_("Cannot insert new record: %s"), + db_get_string(&sql)); +diff --git a/vector/v.net.flow/main.c b/vector/v.net.flow/main.c +index 1a37d2a..a002180 100644 +--- a/vector/v.net.flow/main.c ++++ b/vector/v.net.flow/main.c +@@ -174,7 +174,7 @@ int main(int argc, char *argv[]) + Fi->table); + + db_set_string(&sql, buf); +- G_debug(2, db_get_string(&sql)); ++ G_debug(2, "%s", db_get_string(&sql)); + + if (db_execute_immediate(driver, &sql) != DB_OK) { + db_close_database_shutdown_driver(driver); +@@ -255,7 +255,7 @@ int main(int argc, char *argv[]) + sprintf(buf, "insert into %s values (%d, %f)", Fi->table, cat, + flow[i] / (double)In.dgraph.cost_multip); + db_set_string(&sql, buf); +- G_debug(3, db_get_string(&sql)); ++ G_debug(3, "%s", db_get_string(&sql)); + + if (db_execute_immediate(driver, &sql) != DB_OK) { + db_close_database_shutdown_driver(driver); +diff --git a/vector/v.net.path/path.c b/vector/v.net.path/path.c +index ed0f04c..a45023c 100644 +--- a/vector/v.net.path/path.c ++++ b/vector/v.net.path/path.c +@@ -103,7 +103,7 @@ int path(struct Map_info *In, struct Map_info *Out, char *filename, + Fi->table); + + db_set_string(&sql, buf); +- G_debug(2, db_get_string(&sql)); ++ G_debug(2, "%s", db_get_string(&sql)); + + if (db_execute_immediate(driver, &sql) != DB_OK) { + G_fatal_error(_("Unable to create table: '%s'"), db_get_string(&sql)); +@@ -306,7 +306,7 @@ int path(struct Map_info *In, struct Map_info *Out, char *filename, + "insert into %s values ( %d, %d, %d, %d, %d, %f, %f, %f)", + Fi->table, cat, id, fcat, tcat, sp, cost, fdist, tdist); + db_set_string(&sql, buf); +- G_debug(3, db_get_string(&sql)); ++ G_debug(3, "%s", db_get_string(&sql)); + + if (db_execute_immediate(driver, &sql) != DB_OK) { + G_fatal_error(_("Cannot insert new record: %s"), +diff --git a/vector/v.net.timetable/main.c b/vector/v.net.timetable/main.c +index 2e9bba6..18f2ba6 100644 +--- a/vector/v.net.timetable/main.c ++++ b/vector/v.net.timetable/main.c +@@ -96,7 +96,7 @@ void init_database(struct Map_info *Out, dbDriver ** driver, + sprintf(buf, "create table %s (%s)", (*Fi)->table, columns); + + db_set_string(&sql, buf); +- G_debug(2, db_get_string(&sql)); ++ G_debug(2, "%s", db_get_string(&sql)); + + if (db_execute_immediate(*driver, &sql) != DB_OK) { + db_close_database_shutdown_driver(*driver); +@@ -128,7 +128,7 @@ void insert_point(dbDriver * driver, char *table, int cat, int path, + sprintf(buf, "insert into %s values (%d, %d, %d, %d, %d, %d)", table, cat, + path, stop_id, index, arrival_time, departure_time); + db_set_string(&sql, buf); +- G_debug(3, db_get_string(&sql)); ++ G_debug(3, "%s", db_get_string(&sql)); + if (db_execute_immediate(driver, &sql) != DB_OK) { + db_close_database_shutdown_driver(driver); + G_fatal_error(_("Cannot insert new record: %s"), db_get_string(&sql)); +@@ -150,7 +150,7 @@ void insert_line(dbDriver * driver, char *table, int cat, int path, + table, cat, path, from_id, to_id, route_id, index, from_time, + to_time); + db_set_string(&sql, buf); +- G_debug(3, db_get_string(&sql)); ++ G_debug(3, "%s", db_get_string(&sql)); + if (db_execute_immediate(driver, &sql) != DB_OK) { + db_close_database_shutdown_driver(driver); + G_fatal_error(_("Cannot insert new record: %s"), db_get_string(&sql)); +diff --git a/vector/v.net/main.c b/vector/v.net/main.c +index d1cc5b2..12e0d39 100644 +--- a/vector/v.net/main.c ++++ b/vector/v.net/main.c +@@ -171,7 +171,7 @@ int main(int argc, char **argv) + if (file_arcs) + fclose(file_arcs); + +- G_done_msg(message); ++ G_done_msg("%s", message); + + return (EXIT_SUCCESS); + } +diff --git a/vector/v.out.postgis/create.c b/vector/v.out.postgis/create.c +index 5aa1682..a33dc20 100644 +--- a/vector/v.out.postgis/create.c ++++ b/vector/v.out.postgis/create.c +@@ -77,9 +77,9 @@ char *create_pgfile(const char *dsn, const char *schema, const char *olink, + G_set_key_value(tokens[0], tokens[1], key_val); + + if (strcmp(tokens[0], "fid") == 0) +- G_asprintf(fid_column, tokens[1]); ++ G_asprintf(fid_column, "%s", tokens[1]); + if (strcmp(tokens[0], "geometry_name") == 0) +- G_asprintf(geom_column, tokens[1]); ++ G_asprintf(geom_column, "%s", tokens[1]); + + G_free_tokens(tokens); + } +diff --git a/vector/v.overlay/area_area.c b/vector/v.overlay/area_area.c +index 70d5323..e766126 100644 +--- a/vector/v.overlay/area_area.c ++++ b/vector/v.overlay/area_area.c +@@ -339,7 +339,7 @@ int area_area(struct Map_info *In, int *field, struct Map_info *Tmp, + + db_append_string(&stmt, " )"); + +- G_debug(3, db_get_string(&stmt)); ++ G_debug(3, "%s", db_get_string(&stmt)); + + if (db_execute_immediate(driver, &stmt) != DB_OK) + G_warning(_("Unable to insert new record: '%s'"), +diff --git a/vector/v.overlay/line_area.c b/vector/v.overlay/line_area.c +index 5bd828d..5384193 100644 +--- a/vector/v.overlay/line_area.c ++++ b/vector/v.overlay/line_area.c +@@ -404,7 +404,7 @@ int line_area(struct Map_info *In, int *field, struct Map_info *Tmp, + + db_append_string(&stmt, " )"); + +- G_debug(3, db_get_string(&stmt)); ++ G_debug(3, "%s", db_get_string(&stmt)); + + if (db_execute_immediate(driver, &stmt) != DB_OK) + G_warning(_("Unable to insert new record: '%s'"), +diff --git a/vector/v.overlay/main.c b/vector/v.overlay/main.c +index e9bdc91..2e163a5 100644 +--- a/vector/v.overlay/main.c ++++ b/vector/v.overlay/main.c +@@ -572,7 +572,7 @@ int main(int argc, char *argv[]) + + db_append_string(&stmt, " )"); + +- G_debug(3, db_get_string(&stmt)); ++ G_debug(3, "%s", db_get_string(&stmt)); + + if (db_execute_immediate(driver, &stmt) != DB_OK) { + Vect_close(&Out); +diff --git a/vector/v.random/main.c b/vector/v.random/main.c +index 51b9419..07e8671 100644 +--- a/vector/v.random/main.c ++++ b/vector/v.random/main.c +@@ -462,7 +462,7 @@ int main(int argc, char *argv[]) + sprintf(buf, "%.0f )", z); + db_append_string(&sql, buf); + +- G_debug(3, db_get_string(&sql)); ++ G_debug(3, "%s", db_get_string(&sql)); + if (db_execute_immediate(driver, &sql) != DB_OK) { + G_fatal_error(_("Cannot insert new row: %s"), + db_get_string(&sql)); +@@ -582,7 +582,7 @@ int main(int argc, char *argv[]) + sprintf(buf, "%.0f )", z); + db_append_string(&sql, buf); + +- G_debug(3, db_get_string(&sql)); ++ G_debug(3, "%s", db_get_string(&sql)); + if (db_execute_immediate(driver, &sql) != DB_OK) { + G_fatal_error(_("Cannot insert new row: %s"), + db_get_string(&sql)); +diff --git a/vector/v.rectify/cp.c b/vector/v.rectify/cp.c +index c3c9464..d5e3eed 100644 +--- a/vector/v.rectify/cp.c ++++ b/vector/v.rectify/cp.c +@@ -373,7 +373,7 @@ int get_control_points(char *group, char *pfile, int order, int use3d, + break; + } + if (ret != 1) +- G_fatal_error(msg); ++ G_fatal_error("%s", msg); + + if (rms) { + compute_rms(&cp, &cp3, order, use3d, orthorot, sep, fpr); +diff --git a/vector/v.rectify/target.c b/vector/v.rectify/target.c +index efa6dc6..77c461b 100644 +--- a/vector/v.rectify/target.c ++++ b/vector/v.rectify/target.c +@@ -42,6 +42,6 @@ int get_target(char *group) + error: + strcat(buf, _("Please run i.target for group.")); + strcat(buf, group); +- G_fatal_error(buf); ++ G_fatal_error("%s", buf); + return 1; /* never reached */ + } +diff --git a/vector/v.surf.rst/main.c b/vector/v.surf.rst/main.c +index 286d7a1..1c7f2ed 100644 +--- a/vector/v.surf.rst/main.c ++++ b/vector/v.surf.rst/main.c +@@ -581,7 +581,7 @@ int main(int argc, char *argv[]) + db_append_string(&sql2, "cat integer"); + db_append_string(&sql2, ", flt1 double precision"); + db_append_string(&sql2, ")"); +- G_debug(1, db_get_string(&sql2)); ++ G_debug(1, "%s", db_get_string(&sql2)); + driver2 = db_start_driver_open_database(ff->driver, ff->database); + if (driver2 == NULL) + G_fatal_error(_("Unable to open database <%s> by driver <%s>"), +diff --git a/vector/v.vol.rst/main.c b/vector/v.vol.rst/main.c +index fe4bf63..a283d7e 100644 +--- a/vector/v.vol.rst/main.c ++++ b/vector/v.vol.rst/main.c +@@ -594,7 +594,7 @@ int main(int argc, char *argv[]) + db_append_string(&sql, " integer"); + db_append_string(&sql, ", flt1 double precision"); + db_append_string(&sql, ")"); +- G_debug(1, db_get_string(&sql)); ++ G_debug(1, "%s", db_get_string(&sql)); + driver = db_start_driver_open_database(f->driver, f->database); + if (driver == NULL) + G_fatal_error(_("Unable to open database <%s> by driver <%s>"), +diff --git a/vector/v.vol.rst/vector.c b/vector/v.vol.rst/vector.c +index 3551603..a3bfc1b 100644 +--- a/vector/v.vol.rst/vector.c ++++ b/vector/v.vol.rst/vector.c +@@ -72,7 +72,7 @@ int point_save(double xmm, double ymm, double zmm, double err) + sprintf(buf, ", %f", err); + db_append_string(&sql, buf); + db_append_string(&sql, ")"); +- G_debug(3, db_get_string(&sql)); ++ G_debug(3, "%s", db_get_string(&sql)); + + if (db_execute_immediate(driver, &sql) != DB_OK) { + db_close_database(driver); +diff --git a/vector/v.what.rast/main.c b/vector/v.what.rast/main.c +index 542093f..e329710 100644 +--- a/vector/v.what.rast/main.c ++++ b/vector/v.what.rast/main.c +@@ -623,7 +623,7 @@ int main(int argc, char *argv[]) + sprintf(buf, " AND %s", opt.where->answer); + db_append_string(&stmt, buf); + } +- G_debug(3, db_get_string(&stmt)); ++ G_debug(3, "%s", db_get_string(&stmt)); + + /* Update table */ + if (db_execute_immediate(driver, &stmt) == DB_OK) { +diff --git a/vector/v.what.rast3/main.c b/vector/v.what.rast3/main.c +index d84f155..27ff931 100644 +--- a/vector/v.what.rast3/main.c ++++ b/vector/v.what.rast3/main.c +@@ -305,7 +305,7 @@ int main(int argc, char *argv[]) + G_snprintf(buf, 2048, " AND %s", opt.where->answer); + db_append_string(&stmt, buf); + } +- G_debug(3, db_get_string(&stmt)); ++ G_debug(3, "%s", db_get_string(&stmt)); + + /* Update table */ + if (db_execute_immediate(driver, &stmt) == DB_OK) { |