Re: [PATCH] shared/gatt-db: Fix memory comparison error

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

Please see the full description of the issue at
https://bugs.chromium.org/p/chromium/issues/detail?id=748216#c4.

Thanks,
Miao

On Fri, Aug 4, 2017 at 3:19 PM,  <mcchou@xxxxxxxxxxxx> wrote:
> From: Miao-chen Chou <mcchou@xxxxxxxxxxxx>
>
> This fixes the use of memcmp where the length of comparison is longer than the
> memories to be compared. Since unit/test-gatt make use of gatt-db, if compiled
> with ASan, unit/test-gatt would fail.
> ---
>  src/shared/gatt-db.c | 13 +++++++++----
>  1 file changed, 9 insertions(+), 4 deletions(-)
>
> diff --git a/src/shared/gatt-db.c b/src/shared/gatt-db.c
> index 8ef6f3bca..2dd73b997 100644
> --- a/src/shared/gatt-db.c
> +++ b/src/shared/gatt-db.c
> @@ -1013,10 +1013,15 @@ static void find_by_type(void *data, void *user_data)
>                         continue;
>
>                 /* TODO: fix for read-callback based attributes */
> -               if (search_data->value && memcmp(attribute->value,
> -                                                       search_data->value,
> -                                                       search_data->value_len))
> -                       continue;
> +               if (search_data->value) {
> +                       if (search_data->value_len != attribute->value_len)
> +                               continue;
> +
> +                       if (memcmp(attribute->value, search_data->value,
> +                                       search_data->value_len)) {
> +                               continue;
> +                       }
> +               }
>
>                 search_data->num_of_res++;
>                 search_data->func(attribute, search_data->user_data);
> --
> 2.14.0.rc1.383.gd1ce394fe2-goog
>
--
To unsubscribe from this list: send the line "unsubscribe linux-bluetooth" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Bluez Devel]     [Linux Wireless Networking]     [Linux Wireless Personal Area Networking]     [Linux ATH6KL]     [Linux USB Devel]     [Linux Media Drivers]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Big List of Linux Books]

  Powered by Linux