}
err = ioctl(ctl, HIDPCONNADD, &req);
- if (err < 0)
+ if (err < 0) {
+ close(ctl);
goto cleanup;
+ }
info("New input device %s (%s)", addr, req.name);
cleanup:
- close(ctl);
-
if (req.rd_data)
free(req.rd_data);
char addr[18];
struct adapter *adapter;
struct btd_device *device;
- struct agent *agent;
+ struct agent *agent = NULL;
int ret;
adapter = manager_find_adapter(sba);
{
struct adapter *adapter;
struct btd_device *device;
- struct agent *agent;
+ struct agent *agent = NULL;
char addr[18];
struct pending_auth_info *auth;
{
struct adapter *adapter;
struct btd_device *device;
- struct agent *agent;
+ struct agent *agent = NULL;
char addr[18];
struct pending_auth_info *auth;
{
struct adapter *adapter;
struct btd_device *device;
- struct agent *agent;
+ struct agent *agent = NULL;
char addr[18];
adapter = manager_find_adapter(local);