Merge branch '1207-bind-potential-for-null-pointer-de-references-plus-memory-leaks-cwe-476-in-file-dlz_mysqldyn_mod-c-v9_11' into 'v9_11'
Resolve "BIND | Potential for NULL pointer de-references plus memory leaks (CWE-476) in file 'dlz_mysqldyn_mod.c'" See merge request isc-projects/bind9!2302
This commit is contained in:
@@ -1,3 +1,6 @@
|
||||
5286. [contrib] Address potential NULL pointer dereferences in
|
||||
dlz_mysqldyn_mod.c. [GL #1207]
|
||||
|
||||
5285. [port] win32: implement "-T maxudpXXX". [GL #837]
|
||||
|
||||
5282. [bug] Fixed a bug in searching for possible wildcard matches
|
||||
|
||||
@@ -1304,9 +1304,21 @@ dlz_newversion(const char *zone, void *dbdata, void **versionp) {
|
||||
* Create new transaction
|
||||
*/
|
||||
newtx = (mysql_transaction_t *)
|
||||
malloc(sizeof(mysql_transaction_t));
|
||||
calloc(1, sizeof(mysql_transaction_t));
|
||||
if (newtx == NULL) {
|
||||
result = ISC_R_NOMEMORY;
|
||||
goto cleanup;
|
||||
}
|
||||
newtx->zone = strdup(zone);
|
||||
if (newtx->zone == NULL) {
|
||||
result = ISC_R_NOMEMORY;
|
||||
goto cleanup;
|
||||
}
|
||||
newtx->zone_id = strdup(zone_id);
|
||||
if (newtx->zone_id == NULL) {
|
||||
result = ISC_R_NOMEMORY;
|
||||
goto cleanup;
|
||||
}
|
||||
newtx->dbi = get_dbi(state);
|
||||
newtx->next = NULL;
|
||||
|
||||
@@ -1336,9 +1348,15 @@ dlz_newversion(const char *zone, void *dbdata, void **versionp) {
|
||||
*versionp = (void *) newtx;
|
||||
} else {
|
||||
dlz_mutex_unlock(&state->tx_mutex);
|
||||
free(newtx->zone);
|
||||
free(newtx->zone_id);
|
||||
free(newtx);
|
||||
if (newtx != NULL) {
|
||||
if (newtx->zone != NULL) {
|
||||
free(newtx->zone);
|
||||
}
|
||||
if (newtx->zone != NULL) {
|
||||
free(newtx->zone_id);
|
||||
}
|
||||
free(newtx);
|
||||
}
|
||||
}
|
||||
|
||||
return (result);
|
||||
|
||||
Reference in New Issue
Block a user