[Date Prev][Date Next]
[Chronological]
[Thread]
[Top]
(ITS#8660) slapd segmentation faults (relay backend and rwm overlay)
- To: openldap-its@OpenLDAP.org
- Subject: (ITS#8660) slapd segmentation faults (relay backend and rwm overlay)
- From: nespor@id.ethz.ch
- Date: Wed, 24 May 2017 11:48:37 +0000
- Auto-submitted: auto-generated (OpenLDAP-ITS)
Full_Name: Vlado Nespor
Version: 2.4.44
OS: Red Hat el7
URL: ftp://ftp.openldap.org/incoming/
Submission from: (NULL) (2001:67c:10ec:32d0::222)
We have experienced random slapd segmentation faults, when the relay
backend and rwm overlay were used in the configuration. After some
time I could reproduce the segmentation fault on a slow client and
with test queries, which were supposed to return a larger set of entries.
I could trace the problem to a wrong pointer in the slap_writewait_play
function in the openldap-2.4.44/servers/slapd/result.c file, and then
further to the openldap-2.4.44/servers/slapd/back-relay/op.c file. After
the addition of the sc_writewait pointer initialisation (see the patch
below), the test queries returned correct results and random slapd
segmentation faults disappeared.
With best regards,
Vlado Nespor
diff -rupN openldap-2.4.44/servers/slapd/back-relay/op.c
openldap-2.4.44_back-relay/servers/slapd/back-relay/op.c
--- openldap-2.4.44/servers/slapd/back-relay/op.c 2016-02-06 00:57:45.000000000
+0100
+++ openldap-2.4.44_back-relay/servers/slapd/back-relay/op.c 2017-02-07
15:09:55.046188340 +0100
@@ -97,6 +97,7 @@ relay_back_response_cb( Operation *op, S
(rcb)->rcb_sc.sc_next = (op)->o_callback; \
(rcb)->rcb_sc.sc_response = relay_back_response_cb; \
(rcb)->rcb_sc.sc_cleanup = 0; \
+ (rcb)->rcb_sc.sc_writewait = 0; \
(rcb)->rcb_sc.sc_private = (op)->o_bd; \
(op)->o_callback = (slap_callback *) (rcb); \
}