[Date Prev][Date Next] [Chronological] [Thread] [Top]

(ITS#4977) check parse_sync_cookie return in syncprov overlay



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.