]> git.ipfire.org Git - thirdparty/bind9.git/commitdiff
Add and use __attribute__((nonnull)) in dnssec-signzone.c
authorOndřej Surý <ondrej@isc.org>
Thu, 21 Aug 2025 21:51:38 +0000 (23:51 +0200)
committerOndřej Surý <ondrej@isc.org>
Thu, 28 Aug 2025 14:23:59 +0000 (16:23 +0200)
Clang 20 is complaining about passing NULL to an argument with 'nonnull'
attribute.  Mark these two functions with the same attribute to assure
that these two function also don't accept NULL as an argument.

bin/dnssec/dnssec-signzone.c
lib/isc/include/isc/attributes.h

index 6eb72eebafa7190b7dd92e94140072a84f610ad2..025f5703ffe45eb1af596d6bc32ebdd63d1ca487 100644 (file)
@@ -3085,6 +3085,8 @@ writeset(const char *prefix, dns_rdatatype_t type) {
        dns_db_detach(&db);
 }
 
+static void
+print_time(FILE *fp) ISC_ATTR_NONNULL(1);
 static void
 print_time(FILE *fp) {
        time_t currenttime = time(NULL);
@@ -3101,6 +3103,8 @@ print_time(FILE *fp) {
        fprintf(fp, "; File written on %s\n", timebuf);
 }
 
+static void
+print_version(FILE *fp) ISC_ATTR_NONNULL(1);
 static void
 print_version(FILE *fp) {
        if (outputformat != dns_masterformat_text) {
@@ -3908,6 +3912,7 @@ main(int argc, char *argv[]) {
                        fatal("failed to open temporary output file: %s",
                              isc_result_totext(result));
                }
+               INSIST(outfp != NULL);
                removefile = true;
                setfatalcallback(&removetempfile);
        }
index 96d57f9f4971f69d5fcc522ce2a4f84dc802e43c..03c84ae4979cbe24c8483cf6da4025b75739f3bb 100644 (file)
 #else
 #define ISC_ATTR_COUNTED_BY(x)
 #endif
+
+#if __has_attribute(__nonnull__)
+#define ISC_ATTR_NONNULL(...) __attribute__((__nonnull__(__VA_ARGS__)))
+#else
+#define ISC_ATTR_NONNULL(...)
+#endif