OSDN Git Service

android/hal-health: Fix not setting offsets for empty strings
authorSzymon Janc <szymon.janc@tieto.com>
Mon, 16 Jun 2014 13:27:35 +0000 (15:27 +0200)
committerSzymon Janc <szymon.janc@tieto.com>
Mon, 16 Jun 2014 14:03:55 +0000 (16:03 +0200)
In register_app command all strings except app name are optional.
Those are passed over IPC concatenated and offsets are used to
determine string presence and length.

android/hal-health.c

index 012b6b7..ab06658 100644 (file)
@@ -93,23 +93,23 @@ static bt_status_t register_application(bthl_reg_param_t *reg, int *app_id)
        memcpy(cmd->data, reg->application_name, len);
        off += len;
 
+       cmd->provider_name_off = off;
        if (reg->provider_name) {
                len = strlen(reg->provider_name) + 1;
-               cmd->provider_name_off = off;
                memcpy(cmd->data + off, reg->provider_name, len);
                off += len;
        }
 
+       cmd->service_name_off = off;
        if (reg->srv_name) {
                len = strlen(reg->srv_name) + 1;
-               cmd->service_name_off = off;
                memcpy(cmd->data + off, reg->srv_name, len);
                off += len;
        }
 
+       cmd->service_descr_off = off;
        if (reg->srv_desp) {
                len = strlen(reg->srv_desp) + 1;
-               cmd->service_descr_off = off;
                memcpy(cmd->data + off, reg->srv_desp, len);
                off += len;
        }