On Tue, 23 Jun 2026 15:17:59 GMT, Matthias Baesken <[email protected]> wrote:

> BUILD_LIBMANAGEMENT_EXT disables some warnings; this should be removed.
> 
> ---------
> - [x] I confirm that I make this contribution in accordance with the [OpenJDK 
> Interim AI Policy](https://openjdk.org/legal/ai).

Getting rid of the clang format-nonliteral warning seems to work this way, but 
I am not sure if adding those attributes is really what we want in the coding, 
any comments ?

diff --git a/make/modules/jdk.management/Lib.gmk 
b/make/modules/jdk.management/Lib.gmk
index f65348e9381..3b91d542274 100644
--- a/make/modules/jdk.management/Lib.gmk
+++ b/make/modules/jdk.management/Lib.gmk
@@ -41,7 +41,6 @@ endif
 $(eval $(call SetupJdkLibrary, BUILD_LIBMANAGEMENT_EXT, \
     NAME := management_ext, \
     OPTIMIZATION := HIGH, \
-    DISABLED_WARNINGS_clang_UnixOperatingSystem.c := format-nonliteral, \
     CFLAGS := $(LIBMANAGEMENT_EXT_CFLAGS), \
     JDK_LIBS := java.base:libjava java.base:libjvm, \
     LIBS_aix := -lperfstat, \
diff --git 
a/src/jdk.management/linux/native/libmanagement_ext/UnixOperatingSystem.c 
b/src/jdk.management/linux/native/libmanagement_ext/UnixOperatingSystem.c
index 326dd916f7e..4356d14c75a 100644
--- a/src/jdk.management/linux/native/libmanagement_ext/UnixOperatingSystem.c
+++ b/src/jdk.management/linux/native/libmanagement_ext/UnixOperatingSystem.c
@@ -140,6 +140,7 @@ static int get_totalticks(int which, ticks *pticks) {
     return 0;
 }
 
+__attribute__((format(scanf, 2, 0)))
 static int vread_statdata(const char *procfile, const char *fmt, va_list args) 
{
     FILE    *f;
     int     n;
@@ -170,6 +171,7 @@ static int vread_statdata(const char *procfile, const char 
*fmt, va_list args) {
     return n;
 }
 
+ __attribute__((format(scanf, 2, 3)))
 static int read_statdata(const char *procfile, const char *fmt, ...) {
     int       n;

-------------

PR Comment: https://git.openjdk.org/jdk/pull/31636#issuecomment-4790174842

Reply via email to