Full_Name: Donn Cave Version: 2.4.4 OS: Red Hat RHEL 3 URL: Submission from: (NULL) (128.95.135.150)
Control from 2.3.24 syncrepl client fails "sid=" parse in slap_parse_sync_cookie(), but return -1 is ignored, in syncprov_parseCtrl() ca. line 2770. slapd crashes in syncprov_op_search ca. line 2106, because srs->sr_state.sids is null.
Reproduce by sending control with invalid "sid=" value. That might be any 2.3 client, or there may be something else whacked here. Client configured refreshAndPersist.
I added a check for negative return value to the check for negative rid. Result is "err=2 nentries=0 text=Sync control : cookie parsing error", ... "do_search: get_ctrls failed", which I assume is good. At least, it doesn't crash.