mirror of
https://github.com/samba-team/samba.git
synced 2025-02-12 21:58:10 +03:00
fixed a memory leak in the recovery daemon
(This used to be ctdb commit 73c27cf4c62cbe44b2b8fd00f907974d0808500c)
This commit is contained in:
parent
840ba4d5f6
commit
6c56e9d347
@ -756,7 +756,13 @@ static void vacuum_fetch_next(struct vacuum_info *v)
|
||||
}
|
||||
|
||||
data = tdb_fetch(v->ctdb_db->ltdb->tdb, call.key);
|
||||
if (data.dptr == NULL || data.dsize < sizeof(struct ctdb_ltdb_header)) {
|
||||
if (data.dptr == NULL) {
|
||||
tdb_chainunlock(v->ctdb_db->ltdb->tdb, call.key);
|
||||
continue;
|
||||
}
|
||||
|
||||
if (data.dsize < sizeof(struct ctdb_ltdb_header)) {
|
||||
free(data.dptr);
|
||||
tdb_chainunlock(v->ctdb_db->ltdb->tdb, call.key);
|
||||
continue;
|
||||
}
|
||||
@ -764,10 +770,13 @@ static void vacuum_fetch_next(struct vacuum_info *v)
|
||||
hdr = (struct ctdb_ltdb_header *)data.dptr;
|
||||
if (hdr->dmaster == v->rec->ctdb->pnn) {
|
||||
/* its already local */
|
||||
free(data.dptr);
|
||||
tdb_chainunlock(v->ctdb_db->ltdb->tdb, call.key);
|
||||
continue;
|
||||
}
|
||||
|
||||
free(data.dptr);
|
||||
|
||||
state = ctdb_call_send(v->ctdb_db, &call);
|
||||
tdb_chainunlock(v->ctdb_db->ltdb->tdb, call.key);
|
||||
if (state == NULL) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user