On Dienstag, 4. Juli 2017 19:05:25 CEST Pantelis Antoniou wrote: > Hi Marek, > > On Sat, 2017-07-01 at 16:11 +0200, Marek Vasut wrote: > > On 06/30/2017 06:23 PM, Pantelis Antoniou wrote: > > > Introduce an overlay based method for constructing a base DT blob > > > to pass to the kernel. > > > > > > Both canned and runtime feature selection is supported. > > > > > > Signed-off-by: Pantelis Antoniou <pantelis.anton...@konsulko.com> > > > > [...] > > > > > @@ -1475,29 +1482,58 @@ int fit_conf_get_node(const void *fit, const > > > char *conf_uname)> > > > > debug("Found default configuration: '%s'\n", conf_uname); > > > > > > } > > > > > > + s = strchr(conf_uname, '#'); > > > + if (s) { > > > + len = s - conf_uname; > > > + conf_uname_copy = malloc(len + 1); > > > + if (!conf_uname_copy) { > > > + debug("Can't allocate uname copy: '%s'\n", > > > + conf_uname); > > > + return -ENOMEM; > > > + } > > > + memcpy(conf_uname_copy, conf_uname, len); > > > > Is that like strdup() here ? > > No. The space allocated is not the full string, just the span until the > next #.
You could use strndup() to copy only the first n characters. > > > + conf_uname_copy[len] = '\0'; > > > + conf_uname = conf_uname_copy; > > > + } > > > + > > > > > > noffset = fdt_subnode_offset(fit, confs_noffset, conf_uname); > > > if (noffset < 0) { > > > > > > debug("Can't get node offset for configuration unit name: '%s' > > > (%s)\n", > > > > > > conf_uname, fdt_strerror(noffset)); > > > > > > } > > > > > > + if (conf_uname_copy) No need for a null ptr check, IIRC. > > > + free(conf_uname_copy); > > > + > > > > > > return noffset; > > > > > > } > > > > [...] > > Regards > > -- Pantelis > > > _______________________________________________ > U-Boot mailing list > U-Boot@lists.denx.de > https://lists.denx.de/listinfo/u-boot _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot