From: Bruno Haible Date: Fri, 2 Jun 2023 18:11:57 +0000 (+0200) Subject: javacomp: Silence -Wanalyzer-possible-null-argument warning. X-Git-Tag: v1.0~1267 X-Git-Url: https://gitweb.git.savannah.gnu.org/gitweb/?a=commitdiff_plain;h=333fa52f1c292ea030c76dadfd13d0fd1eac111d;p=gnulib.git javacomp: Silence -Wanalyzer-possible-null-argument warning. * lib/javacomp.c: Include verify.h. (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable, compile_java_class): Assert that the xasprintf results are non-NULL. This is possible since all involved format strings are valid and don't use %ls, and all argument strings are small compared to INT_MAX. * modules/javacomp (Depends-on): Add verify. --- diff --git a/ChangeLog b/ChangeLog index 69e7f19cea..fbe73fc047 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,14 @@ +2023-06-02 Bruno Haible + + javacomp: Silence -Wanalyzer-possible-null-argument warning. + * lib/javacomp.c: Include verify.h. + (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_13_usable, + is_envjavac_nongcj_usable, compile_java_class): Assert that the + xasprintf results are non-NULL. This is possible since all involved + format strings are valid and don't use %ls, and all argument strings + are small compared to INT_MAX. + * modules/javacomp (Depends-on): Add verify. + 2023-06-02 Bruno Haible striconveha: Don't crash if malloc() returns NULL. diff --git a/lib/javacomp.c b/lib/javacomp.c index 802742dd95..bb4ef919f4 100644 --- a/lib/javacomp.c +++ b/lib/javacomp.c @@ -46,6 +46,7 @@ #include "clean-temp.h" #include "error.h" #include "xvasprintf.h" +#include "verify.h" #include "c-strstr.h" #include "gettext.h" @@ -849,6 +850,7 @@ is_envjavac_gcj43_usable (const char *javac, /* Try adding -fsource option if it is useful. */ char *javac_source = xasprintf ("%s -fsource=%s", javac, source_version); + assume (javac_source != NULL); unlink (compiled_file_name); @@ -917,6 +919,7 @@ is_envjavac_gcj43_usable (const char *javac, char *javac_target = xasprintf ("%s -fsource=%s -ftarget=%s", javac, source_version, target_version); + assume (javac_target != NULL); unlink (compiled_file_name); @@ -1060,6 +1063,7 @@ is_envjavac_oldgcj_14_13_usable (const char *javac, unlink (compiled_file_name); javac_noassert = xasprintf ("%s -fno-assert", javac); + assume (javac_noassert != NULL); java_sources[0] = conftest_file_name; if (!compile_using_envjavac (javac_noassert, @@ -1200,6 +1204,7 @@ is_envjavac_nongcj_usable (const char *javac, /* Try adding -source option if it is useful. */ char *javac_source = xasprintf ("%s -source %s", javac, source_version_for_javac); + assume (javac_source != NULL); unlink (compiled_file_name); @@ -1268,6 +1273,7 @@ is_envjavac_nongcj_usable (const char *javac, option but no -source option.) */ char *javac_target = xasprintf ("%s -target %s", javac, target_version); + assume (javac_target != NULL); unlink (compiled_file_name); @@ -1284,6 +1290,7 @@ is_envjavac_nongcj_usable (const char *javac, /* Try adding -source option if it is useful. */ char *javac_target_source = xasprintf ("%s -source %s", javac_target, source_version_for_javac); + assume (javac_target_source != NULL); unlink (compiled_file_name); @@ -1358,6 +1365,7 @@ is_envjavac_nongcj_usable (const char *javac, higher.) */ char *javac_target_source = xasprintf ("%s -source %s", javac_target, source_version_for_javac); + assume (javac_target_source != NULL); unlink (compiled_file_name); @@ -2267,6 +2275,7 @@ compile_java_class (const char * const *java_sources, fsource_option ? source_version : "", ftarget_option ? " -ftarget=" : "", ftarget_option ? target_version : "")); + assume (javac_with_options != NULL); err = compile_using_envjavac (javac_with_options, java_sources, java_sources_count, diff --git a/modules/javacomp b/modules/javacomp index cdd6473c4e..f3ce944100 100644 --- a/modules/javacomp +++ b/modules/javacomp @@ -28,6 +28,7 @@ clean-temp stat error xvasprintf +verify c-strstr gettext-h javacomp-script