]> git.ipfire.org Git - thirdparty/bind9.git/commitdiff
Silence CID 464884 (REVERSE_INULL)
authorMark Andrews <marka@isc.org>
Mon, 28 Aug 2023 06:25:16 +0000 (16:25 +1000)
committerMark Andrews <marka@isc.org>
Tue, 29 Aug 2023 23:45:12 +0000 (23:45 +0000)
    *** CID 464884:  Null pointer dereferences  (REVERSE_INULL)
    /bin/tests/system/dyndb/driver/db.c: 644 in create_db()
    638
    639      *dbp = (dns_db_t *)sampledb;
    640
    641      return (ISC_R_SUCCESS);
    642
    643     cleanup:
       CID 464884:  Null pointer dereferences  (REVERSE_INULL)
       Null-checking "sampledb" suggests that it may be null, but it has already been dereferenced on all paths leading to the check.
    644      if (sampledb != NULL) {
    645      if (dns_name_dynamic(&sampledb->common.origin)) {
    646      dns_name_free(&sampledb->common.origin, mctx);
    647      }
    648
    649      isc_mem_putanddetach(&sampledb->common.mctx, sampledb,

bin/tests/system/dyndb/driver/db.c

index cadd3d02c2cb2bb589990ef49aa2b2fdd2b27eb4..12293942f371c7743998c7bdc90061cb2777557d 100644 (file)
@@ -641,14 +641,12 @@ create_db(isc_mem_t *mctx, const dns_name_t *origin, dns_dbtype_t type,
        return (ISC_R_SUCCESS);
 
 cleanup:
-       if (sampledb != NULL) {
-               if (dns_name_dynamic(&sampledb->common.origin)) {
-                       dns_name_free(&sampledb->common.origin, mctx);
-               }
-
-               isc_mem_putanddetach(&sampledb->common.mctx, sampledb,
-                                    sizeof(*sampledb));
+       if (dns_name_dynamic(&sampledb->common.origin)) {
+               dns_name_free(&sampledb->common.origin, mctx);
        }
 
+       isc_mem_putanddetach(&sampledb->common.mctx, sampledb,
+                            sizeof(*sampledb));
+
        return (result);
 }