bluetooth: Detect changes in constant properties
authorMikel Astiz <mikel.astiz@bmw-carit.de>
Tue, 29 Jan 2013 12:10:12 +0000 (13:10 +0100)
committerTanu Kaskinen <tanuk@iki.fi>
Thu, 31 Jan 2013 07:31:59 +0000 (09:31 +0200)
The D-Bus API should guarantee that some properties remain constant and
therefore treat changes in such properties as errors.

src/modules/bluetooth/bluetooth-util.c

index 5da557a..d10eb97 100644 (file)
@@ -367,6 +367,11 @@ static int parse_device_property(pa_bluetooth_device *d, DBusMessageIter *i, boo
                 pa_xfree(d->alias);
                 d->alias = pa_xstrdup(value);
             } else if (pa_streq(key, "Address")) {
+                if (is_property_change) {
+                    pa_log("Device property 'Address' expected to be constant but changed for %s", d->path);
+                    return -1;
+                }
+
                 pa_xfree(d->address);
                 d->address = pa_xstrdup(value);
             }