From 1dba093e8e4315f6a6d8abb87f5a1767834542eb Mon Sep 17 00:00:00 2001 From: evanbiederstedt Date: Tue, 27 Feb 2024 12:59:01 -0500 Subject: [PATCH] fix -Wformat-security format string warning --- CHANGELOG.md | 4 ++++ src/rigraph/rinterface.c | 9 ++++++++- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 186e60e..6181ef5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,9 @@ # Changelog +## [1.1.3] - 2024 February 27 +* Fixed Makevars file +* Fix "format string is not a string literal" error, '-Wformat-security' warning + ## [1.1.2] - 2023 September 3 * README changes, documentation changes diff --git a/src/rigraph/rinterface.c b/src/rigraph/rinterface.c index 12c2ae1..3bc92f7 100644 --- a/src/rigraph/rinterface.c +++ b/src/rigraph/rinterface.c @@ -197,7 +197,14 @@ SEXP R_igraph_handle_safe_eval_result(SEXP result) { SEXP condition_message = PROTECT(Rf_install("conditionMessage")); SEXP condition_message_call = PROTECT(Rf_lang2(condition_message, result)); SEXP evaluated_condition_message = PROTECT(Rf_eval(condition_message_call, R_GlobalEnv)); - error(CHAR(STRING_ELT(evaluated_condition_message, 0))); + // fix for 'format string is not a string literal' flag warning + const char *message_char; + message_char = CHAR(STRING_ELT(evaluated_condition_message, 0)); + if (message_char != NULL) { + error(message_char); + } else { + error("Something screwed up in R_igraph_handle_safe_eval_result()"); + } UNPROTECT(3); return R_NilValue;