On Fri, Feb 19, 2016 at 11:06:43AM +0100, Jiri Pirko wrote:
> @@ -1297,7 +1310,18 @@ static int pci_rocker_init(PCIDevice *dev)
>      /* allocate worlds */
>  
>      r->worlds[ROCKER_WORLD_TYPE_OF_DPA] = of_dpa_world_alloc(r);
> -    r->world_dflt = r->worlds[ROCKER_WORLD_TYPE_OF_DPA];
> +
> +    if (!r->world_name) {
> +        r->world_name = 
> g_strdup(world_name(r->worlds[ROCKER_WORLD_TYPE_OF_DPA]));
> +    }
> +
> +    r->world_dflt = rocker_world_type_by_name(r, r->world_name);
> +    if (!r->world_dflt) {
> +        fprintf(stderr,
> +                "rocker: requested world \"%s\" does not exist\n",
> +                r->world_name);
> +        return -EINVAL;
> +    }

world_name is leaked here.  Please use goto to run the appropriate
cleanup code instead of returning directly.

Attachment: signature.asc
Description: PGP signature

Reply via email to