Commit 2de94dd4 authored by Mark Andrews's avatar Mark Andrews
Browse files

address NULL pointer dereferences

parent a48a612d
Pipeline #20773 passed with stages
in 32 minutes and 38 seconds
......@@ -1297,9 +1297,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;
......@@ -1329,10 +1341,16 @@ dlz_newversion(const char *zone, void *dbdata, void **versionp) {
*versionp = (void *) newtx;
} else {
dlz_mutex_unlock(&state->tx_mutex);
if (newtx != NULL) {
if (newtx->zone != NULL) {
free(newtx->zone);
}
if (newtx->zone != NULL) {
free(newtx->zone_id);
}
free(newtx);
}
}
return (result);
}
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment