at least call log_error if l2cap_register_service_internal fails due to malloc

This commit is contained in:
matthias.ringwald 2011-07-25 19:55:47 +00:00
parent 2b3608483e
commit 277abc2cc0

View File

@ -938,11 +938,17 @@ l2cap_service_t * l2cap_get_service(uint16_t psm){
void l2cap_register_service_internal(void *connection, btstack_packet_handler_t packet_handler, uint16_t psm, uint16_t mtu){
// check for alread registered psm // TODO: emit error event
l2cap_service_t *service = l2cap_get_service(psm);
if (service) return;
if (service) {
log_error("l2cap_register_service_internal: PSM %u already registered\n", psm);
return;
}
// alloc structure // TODO: emit error event
service = btstack_memory_l2cap_service_get();
if (!service) return;
if (!service) {
log_error("l2cap_register_service_internal: no memory for l2cap_service_t\n");
return;
}
// fill in
service->psm = psm;