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.
signature.asc
Description: PGP signature
