sconfig: more careful string resource handling

When parsing a string to numbers, we don't need to copy it.
And when creating strings, we should eventually free them.

Change-Id: I9023fef6e97a1830bc68502be32e79879c1617d4
Found-By: Coverity Scan
Signed-off-by: Patrick Georgi <patrick@georgi-clan.de>
Reviewed-on: http://review.coreboot.org/6484
Tested-by: build bot (Jenkins)
Reviewed-by: Edward O'Callaghan <eocallaghan@alterapraxis.com>
This commit is contained in:
Patrick Georgi 2014-08-03 15:51:19 +02:00
parent 55391c422f
commit 1f68880e50
1 changed files with 2 additions and 1 deletions

View File

@ -195,6 +195,7 @@ struct device *new_chip(struct device *parent, struct device *bus, char *path) {
parent->latestchild = new_chip; parent->latestchild = new_chip;
if (!parent->children) if (!parent->children)
parent->children = new_chip; parent->children = new_chip;
free(chip_h);
return new_chip; return new_chip;
} }
@ -225,7 +226,7 @@ struct device *new_device(struct device *parent, struct device *busdev, const in
new_d->bustype = bus; new_d->bustype = bus;
char *tmp; char *tmp;
new_d->path_a = strtol(strdup(devnum), &tmp, 16); new_d->path_a = strtol(devnum, &tmp, 16);
if (*tmp == '.') { if (*tmp == '.') {
tmp++; tmp++;
new_d->path_b = strtol(tmp, NULL, 16); new_d->path_b = strtol(tmp, NULL, 16);