OSDN Git Service

mgmt: Handle missing randomizer in mgmt_add_remote_oob_data
authorSzymon Janc <szymon.janc@tieto.com>
Wed, 3 Oct 2012 13:18:14 +0000 (15:18 +0200)
committerJohan Hedberg <johan.hedberg@intel.com>
Wed, 3 Oct 2012 19:40:10 +0000 (22:40 +0300)
Randomizer is optional. Handling missing randomizer in
mgmt_add_remote_oob_data is easy and will simplify caller code.

plugins/dbusoob.c
src/mgmt.c

index 543b272..d3bca9e 100644 (file)
@@ -232,13 +232,6 @@ static gboolean store_data(struct btd_adapter *adapter, struct oob_data *data)
        adapter_get_address(adapter, &local);
 
        if (data->hash) {
-               uint8_t empty_randomizer[16];
-
-               if (!data->randomizer) {
-                       memset(empty_randomizer, 0, sizeof(empty_randomizer));
-                       data->randomizer = empty_randomizer;
-               }
-
                if (btd_adapter_add_remote_oob_data(adapter, &bdaddr,
                                        data->hash, data->randomizer) < 0)
                        return FALSE;
index 4354dc4..5bba732 100644 (file)
@@ -2459,7 +2459,9 @@ int mgmt_add_remote_oob_data(int index, bdaddr_t *bdaddr,
 
        bacpy(&cp->addr.bdaddr, bdaddr);
        memcpy(cp->hash, hash, 16);
-       memcpy(cp->randomizer, randomizer, 16);
+
+       if (randomizer)
+               memcpy(cp->randomizer, randomizer, 16);
 
        if (write(mgmt_sock, &buf, sizeof(buf)) < 0)
                return -errno;