diff options
Diffstat (limited to 'drivers/core')
| -rw-r--r-- | drivers/core/device.c | 2 | ||||
| -rw-r--r-- | drivers/core/of_access.c | 2 | ||||
| -rw-r--r-- | drivers/core/ofnode.c | 4 | ||||
| -rw-r--r-- | drivers/core/tag.c | 4 |
4 files changed, 8 insertions, 4 deletions
diff --git a/drivers/core/device.c b/drivers/core/device.c index d365204ba11..6024534ff93 100644 --- a/drivers/core/device.c +++ b/drivers/core/device.c @@ -1147,6 +1147,8 @@ int device_set_name(struct udevice *dev, const char *name) name = strdup(name); if (!name) return -ENOMEM; + if (dev_get_flags(dev) & DM_FLAG_NAME_ALLOCED) + free((char *)dev->name); dev->name = name; device_set_name_alloced(dev); diff --git a/drivers/core/of_access.c b/drivers/core/of_access.c index 969492aae37..f910cc9a31b 100644 --- a/drivers/core/of_access.c +++ b/drivers/core/of_access.c @@ -1071,7 +1071,7 @@ int of_add_subnode(struct device_node *parent, const char *name, int len, * make sure we don't use a child called "trevor" when we are * searching for "trev". */ - if (!strncmp(child->name, name, len) && strlen(name) == len) { + if (!strncmp(child->name, name, len) && strlen(child->name) == len) { *childp = child; return -EEXIST; } diff --git a/drivers/core/ofnode.c b/drivers/core/ofnode.c index 1388b481031..b5d13c43db1 100644 --- a/drivers/core/ofnode.c +++ b/drivers/core/ofnode.c @@ -130,8 +130,10 @@ int oftree_new(oftree *treep) if (!fdt) return log_msg_ret("fla", -ENOMEM); ret = fdt_create_empty_tree(fdt, size); - if (ret) + if (ret) { + free(fdt); return log_msg_ret("fla", -EINVAL); + } oftree_list[oftree_count++] = fdt; tree.fdt = fdt; } diff --git a/drivers/core/tag.c b/drivers/core/tag.c index a3c5cb7e57c..78b5ee6dc07 100644 --- a/drivers/core/tag.c +++ b/drivers/core/tag.c @@ -46,7 +46,7 @@ int dev_tag_set_ptr(struct udevice *dev, enum dm_tag_t tag, void *ptr) return -EEXIST; } - node = calloc(sizeof(*node), 1); + node = calloc(1, sizeof(*node)); if (!node) return -ENOMEM; @@ -70,7 +70,7 @@ int dev_tag_set_val(struct udevice *dev, enum dm_tag_t tag, ulong val) return -EEXIST; } - node = calloc(sizeof(*node), 1); + node = calloc(1, sizeof(*node)); if (!node) return -ENOMEM; |
