[Date Prev][Date Next]
[Chronological]
[Thread]
[Top]
(ITS#6739) broken do_syncrep2()
Full_Name: Hallvard B Furuseth
Version: HEAD
OS:
URL:
Submission from: (NULL) (129.240.6.233)
Submitted by: hallvard
slapd/syncrepl.c:do_syncrep2() initializes many variables once which
should have been initialized inside the loop.
I'll add the initializations I can figure out, and move most variables
into the loop for readability.
TODO:
Variables 'm' and 'refreshDeletes' may still be wrong. In particular
'm'. It "feels" like it should be local to the loop, but there's no
logic that I can see to prevent previous value from being used.
Perhaps they depend on the peer not breaking the sync protocol?
I haven't read that myself, I'm just peering at the code.
I've added three somewhat arbitrary bits of code for error handling:
- A Debug() statement on line 847 which can likely be improved.
- Set err and rc to LDAP_OTHER on ldap_parse_result/ldap_get_option
failure. The correct fix would be proper error checks (ITS#6738),
but I don't know what to do on error.