From 875791dcde5a1500cb8221b712004a1f35020424 Mon Sep 17 00:00:00 2001 From: "Lucas A. M. Magalhaes" <lucas.magalhaes@ess.eu> Date: Wed, 10 May 2023 11:19:23 +0200 Subject: [PATCH] Fix format overflow errors from GCC13 in require.c MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit In function ‘compareVersions’, inlined from ‘require_priv’ at .././src/require.c:1025:29: .././src/require.c:640:9: warning: ‘%s’ directive argument is null [-Wformat-overflow=] 640 | debug("require: compareVersions(found=%s, request=%s)\n", found, request); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .././src/require.c:601:28: note: in definition of macro ‘debug’ 601 | if (requireDebug) printf(__VA_ARGS__) | ^~~~~~~~~~~ .././src/require.c: In function ‘require_priv’: .././src/require.c:640:53: note: format string is defined here 640 | debug("require: compareVersions(found=%s, request=%s)\n", found, request); | ^~ In function ‘compareVersions’, inlined from ‘require_priv’ at .././src/require.c:1025:29: .././src/require.c:640:9: warning: ‘%s’ directive argument is null [-Wformat-overflow=] 640 | debug("require: compareVersions(found=%s, request=%s)\n", found, request); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .././src/require.c:601:28: note: in definition of macro ‘debug’ 601 | if (requireDebug) printf(__VA_ARGS__) | ^~~~~~~~~~~ .././src/require.c: In function ‘require_priv’: .././src/require.c:640:53: note: format string is defined here 640 | debug("require: compareVersions(found=%s, request=%s)\n", found, request); | ^~ .././src/require.c:1031:50: warning: ‘%s’ directive argument is null [-Wformat-overflow=] 1031 | printf("require: %s %s may match %s\n", module, currentFilename, | ^~ --- require-ess/src/require.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/require-ess/src/require.c b/require-ess/src/require.c index 2803e929..3c95a76e 100644 --- a/require-ess/src/require.c +++ b/require-ess/src/require.c @@ -637,7 +637,8 @@ static int compareVersions(const char *found, const char *request, semver_t *sv_found, *sv_request; int match; - debug("require: compareVersions(found=%s, request=%s)\n", found, request); + debug("require: compareVersions(found=%s, request=%s)\n", found, + request ? request : ""); if (request == NULL || request[0] == 0) { debug("require: compareVersions: MATCH empty version requested\n"); @@ -1020,7 +1021,7 @@ static int require_priv( /* Look for highest matching version. */ if (requireDebug) printf("require: checking version %s against required %s\n", - currentFilename, version); + currentFilename, version ? version : ""); switch ((status = compareVersions(currentFilename, version, FALSE))) { case MATCH: /* all given numbers match. */ @@ -1029,7 +1030,7 @@ static int require_priv( if (requireDebug) printf("require: %s %s may match %s\n", module, currentFilename, - version); + version ? version : ""); /* Check if it has our EPICS version and architecture. */ /* Even if it has no library, at least it has a dep file in the -- GitLab