X-Git-Url: http://git.ozlabs.org/?p=petitboot;a=blobdiff_plain;f=discover%2Fnetwork.c;h=0161c69d2bedb6c40af1a3b004996d64ce8988c6;hp=2de96ec55d1f061fc301dc9b36fe717c8b3c0a5b;hb=1def8f21aecc41ac22652e7b8bd1f5bf7a4dae98;hpb=4da0965a861bedd4332217c131abf399bc2b5a18 diff --git a/discover/network.c b/discover/network.c index 2de96ec..0161c69 100644 --- a/discover/network.c +++ b/discover/network.c @@ -197,13 +197,15 @@ static char *mac_bytes_to_string(void *ctx, uint8_t *addr, int len) static void add_interface(struct network *network, struct interface *interface) { + char *uuid = mac_bytes_to_string(interface, interface->hwaddr, + sizeof(interface->hwaddr)); + list_add(&network->interfaces, &interface->list); - interface->dev = discover_device_create(network->handler, - interface->name); + interface->dev = discover_device_create(network->handler, uuid, + interface->name); interface->dev->device->type = DEVICE_TYPE_NETWORK; - interface->dev->uuid = mac_bytes_to_string(interface->dev, - interface->hwaddr, sizeof(interface->hwaddr)); device_handler_add_device(network->handler, interface->dev); + talloc_free(uuid); } static void remove_interface(struct network *network,