From: Andrei Emeltchenko <[email protected]>
The which is executed after checking (!op) is dereferencing op in
function discovery_op_free().
---
src/shared/gatt-client.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/src/shared/gatt-client.c b/src/shared/gatt-client.c
index f7a90d1..c9fb05d 100644
--- a/src/shared/gatt-client.c
+++ b/src/shared/gatt-client.c
@@ -1075,11 +1075,12 @@ static void process_service_changed(struct bt_gatt_client *client,
return;
}
+ discovery_op_free(op);
+
fail:
util_debug(client->debug_callback, client->debug_data,
"Failed to initiate service discovery"
" after Service Changed");
- discovery_op_free(op);
}
static void service_changed_cb(uint16_t value_handle, const uint8_t *value,
--
2.1.0
ping
On Fri, Dec 19, 2014 at 11:25:23AM +0200, Andrei Emeltchenko wrote:
> From: Andrei Emeltchenko <[email protected]>
>
> The which is executed after checking (!op) is dereferencing op in
> function discovery_op_free().
> ---
> src/shared/gatt-client.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/src/shared/gatt-client.c b/src/shared/gatt-client.c
> index f7a90d1..c9fb05d 100644
> --- a/src/shared/gatt-client.c
> +++ b/src/shared/gatt-client.c
> @@ -1075,11 +1075,12 @@ static void process_service_changed(struct bt_gatt_client *client,
> return;
> }
>
> + discovery_op_free(op);
> +
> fail:
> util_debug(client->debug_callback, client->debug_data,
> "Failed to initiate service discovery"
> " after Service Changed");
> - discovery_op_free(op);
> }
>
> static void service_changed_cb(uint16_t value_handle, const uint8_t *value,
> --
> 2.1.0
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-bluetooth" in
> the body of a message to [email protected]
> More majordomo info at http://vger.kernel.org/majordomo-info.html
From: Andrei Emeltchenko <[email protected]>
This follows standard practice elsewhere in this file.
---
tools/btgatt-client.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/tools/btgatt-client.c b/tools/btgatt-client.c
index e2e0537..62c4d3e 100644
--- a/tools/btgatt-client.c
+++ b/tools/btgatt-client.c
@@ -457,6 +457,10 @@ static void cmd_read_multiple(struct client *cli, char *cmd_str)
}
value = malloc(sizeof(uint16_t) * argc);
+ if (!value) {
+ printf("Failed to construct value\n");
+ return;
+ }
for (i = 0; i < argc; i++) {
value[i] = strtol(argv[i], &endptr, 0);
--
2.1.0
Hi Andrei,
On Fri, Dec 19, 2014, Andrei Emeltchenko wrote:
> The which is executed after checking (!op) is dereferencing op in
> function discovery_op_free().
> ---
> src/shared/gatt-client.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
Both patches in this set have been applied. Thanks.
Johan
ping
On Mon, Dec 22, 2014 at 01:32:56PM +0200, Andrei Emeltchenko wrote:
> ping
>
> On Fri, Dec 19, 2014 at 11:25:23AM +0200, Andrei Emeltchenko wrote:
> > From: Andrei Emeltchenko <[email protected]>
> >
> > The which is executed after checking (!op) is dereferencing op in
> > function discovery_op_free().
> > ---
> > src/shared/gatt-client.c | 3 ++-
> > 1 file changed, 2 insertions(+), 1 deletion(-)
> >
> > diff --git a/src/shared/gatt-client.c b/src/shared/gatt-client.c
> > index f7a90d1..c9fb05d 100644
> > --- a/src/shared/gatt-client.c
> > +++ b/src/shared/gatt-client.c
> > @@ -1075,11 +1075,12 @@ static void process_service_changed(struct bt_gatt_client *client,
> > return;
> > }
> >
> > + discovery_op_free(op);
> > +
> > fail:
> > util_debug(client->debug_callback, client->debug_data,
> > "Failed to initiate service discovery"
> > " after Service Changed");
> > - discovery_op_free(op);
> > }
> >
> > static void service_changed_cb(uint16_t value_handle, const uint8_t *value,
> > --
> > 2.1.0
> >
> > --
> > To unsubscribe from this list: send the line "unsubscribe linux-bluetooth" in
> > the body of a message to [email protected]
> > More majordomo info at http://vger.kernel.org/majordomo-info.html
> --
> To unsubscribe from this list: send the line "unsubscribe linux-bluetooth" in
> the body of a message to [email protected]
> More majordomo info at http://vger.kernel.org/majordomo-info.html