Address theoretical resource leak in dns_dt_open()

dns_dt_open() is not currently called with mode dns_dtmode_unix.

    *** CID 281489:  Resource leaks  (RESOURCE_LEAK)
    /lib/dns/dnstap.c: 983 in dns_dt_open()
    977
    978     		if (!dnstap_file(handle->reader)) {
    979     			CHECK(DNS_R_BADDNSTAP);
    980     		}
    981     		break;
    982     	case dns_dtmode_unix:
       CID 281489:  Resource leaks  (RESOURCE_LEAK)
       Variable "handle" going out of scope leaks the storage it points to.
    983     		return (ISC_R_NOTIMPLEMENTED);
    984     	default:
    985     		INSIST(0);
    986     		ISC_UNREACHABLE();
    987     	}
    988

(cherry picked from commit 003dd8cc70)
This commit is contained in:
Mark Andrews 2021-02-22 09:44:56 +11:00
parent 31da81d82b
commit 4e192d2fe7

View file

@ -980,7 +980,8 @@ dns_dt_open(const char *filename, dns_dtmode_t mode, isc_mem_t *mctx,
}
break;
case dns_dtmode_unix:
return (ISC_R_NOTIMPLEMENTED);
result = ISC_R_NOTIMPLEMENTED;
goto cleanup;
default:
INSIST(0);
ISC_UNREACHABLE();