/* Not much we can do */
}
t->mhandle->transfers--;
- talloc_free(randle);
+ fr_imap_slab_release(randle);
}
/*
}
if (randle->result != CURLE_OK) {
- talloc_free(randle);
+ fr_imap_slab_release(randle);
RETURN_MODULE_REJECT;
}
if (tls->extract_cert_attrs) fr_curl_response_certinfo(request, randle);
- talloc_free(randle);
+ fr_imap_slab_release(randle);
RETURN_MODULE_OK;
}
fr_pair_t const *password;
fr_curl_io_request_t *randle;
- randle = fr_curl_io_request_alloc(request);
- if (!randle){
- error:
- RETURN_MODULE_FAIL;
- }
-
username = fr_pair_find_by_da(&request->request_pairs, NULL, attr_user_name);
password = fr_pair_find_by_da(&request->request_pairs, NULL, attr_user_password);
RETURN_MODULE_INVALID;
}
+ randle = fr_imap_slab_reserve(t->slab);
+ if (!randle){
+ error:
+ if (randle) fr_imap_slab_release(randle);
+ RETURN_MODULE_FAIL;
+ }
+
FR_CURL_REQUEST_SET_OPTION(CURLOPT_USERNAME, username->vp_strvalue);
FR_CURL_REQUEST_SET_OPTION(CURLOPT_PASSWORD, password->vp_strvalue);