File: | Modules/ldapcontrol.c |
Function: | encode_rfc3876 |
Error: | ob_refcnt of new ref from (unknown) LDAPerr is 1 too high |
203 static PyObject*
204 encode_rfc3876(PyObject *self, PyObject *args)
205 {
206 PyObject *res = 0;
207 int err;
208 BerElement *vrber = 0;
209 char *vrFilter;
210 struct berval *ctrl_val;
211
212 if (!PyArg_ParseTuple(args, "s:encode_valuesreturnfilter_control", &vrFilter)) {
when _PyArg_ParseTuple_SizeT() succeeds
taking False path
213 goto endlbl;
214 }
215
216 if (!(vrber = ber_alloc_t(LBER_USE_DER))) {
when treating unknown struct BerElement * from Modules/ldapcontrol.c:216 as non-NULL
taking False path
217 LDAPerr(LDAP_NO_MEMORY);
218 goto endlbl;
219 }
220
221 err = ldap_put_vrFilter(vrber, vrFilter);
222 if (err == -1) {
when considering range: -0x80000000 <= value <= -2
taking False path
223 LDAPerr(LDAP_FILTER_ERROR);
224 goto endlbl;
225 }
226
227 err = ber_flatten(vrber, &ctrl_val);
228 if (err == -1) {
when considering value == (int)-1 from Modules/ldapcontrol.c:227
taking True path
229 LDAPerr(LDAP_NO_MEMORY);
when LDAPerr() succeeds
new ref from (unknown) LDAPerr allocated at: LDAPerr(LDAP_NO_MEMORY);
ob_refcnt is now refs: 1 + N where N >= 0
230 goto endlbl;
231 }
232
233 res = LDAPberval_to_object(ctrl_val);
234
235 endlbl:
236 if (vrber)
taking True path
237 ber_free(vrber, 1);
238
239 return res;
returning
ob_refcnt of new ref from (unknown) LDAPerr is 1 too high
was expecting final ob_refcnt to be N + 0 (for some unknown N)
but final ob_refcnt is N + 1
found 3 similar trace(s) to this
240 }
File: | Modules/ldapcontrol.c |
Function: | encode_rfc3876 |
Error: | returning (PyObject*)NULL without setting an exception |
203 static PyObject*
204 encode_rfc3876(PyObject *self, PyObject *args)
205 {
206 PyObject *res = 0;
207 int err;
208 BerElement *vrber = 0;
209 char *vrFilter;
210 struct berval *ctrl_val;
211
212 if (!PyArg_ParseTuple(args, "s:encode_valuesreturnfilter_control", &vrFilter)) {
when _PyArg_ParseTuple_SizeT() succeeds
taking False path
213 goto endlbl;
214 }
215
216 if (!(vrber = ber_alloc_t(LBER_USE_DER))) {
when treating unknown struct BerElement * from Modules/ldapcontrol.c:216 as non-NULL
taking False path
217 LDAPerr(LDAP_NO_MEMORY);
218 goto endlbl;
219 }
220
221 err = ldap_put_vrFilter(vrber, vrFilter);
222 if (err == -1) {
when considering range: -0x80000000 <= value <= -2
taking False path
223 LDAPerr(LDAP_FILTER_ERROR);
224 goto endlbl;
225 }
226
227 err = ber_flatten(vrber, &ctrl_val);
228 if (err == -1) {
when considering value == (int)-1 from Modules/ldapcontrol.c:227
taking True path
229 LDAPerr(LDAP_NO_MEMORY);
when LDAPerr() succeeds
230 goto endlbl;
231 }
232
233 res = LDAPberval_to_object(ctrl_val);
234
235 endlbl:
236 if (vrber)
taking True path
237 ber_free(vrber, 1);
238
239 return res;
returning
returning (PyObject*)NULL without setting an exception
found 3 similar trace(s) to this
240 }