Mon, Feb 22, 2016 at 06:51:50PM CET, [email protected] wrote: >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.
I did the same what is done with "r->name = g_strdup(ROCKER)" I assumed since this is a property, the caller core will take care of that.
