diff options
author | Sascha Hauer <s.hauer@pengutronix.de> | 2015-02-04 19:09:15 +0100 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2015-02-04 19:09:15 +0100 |
commit | ce961e341258dc9f78da3c0d64231cf1afdc4e63 (patch) | |
tree | 90c65241a72f55fbd67f58c05b091f714e4c2490 /lib | |
parent | 91d4a4264bc2dead4e3101c5064da35c78f4c89b (diff) | |
parent | cf715885604004ccfc30bc4caa75d58a75bb02c7 (diff) | |
download | barebox-ce961e341258dc9f78da3c0d64231cf1afdc4e63.tar.gz barebox-ce961e341258dc9f78da3c0d64231cf1afdc4e63.tar.xz |
Merge branch 'for-next/misc'
Diffstat (limited to 'lib')
-rw-r--r-- | lib/parameter.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/lib/parameter.c b/lib/parameter.c index d337ef37c7..865ad9f431 100644 --- a/lib/parameter.c +++ b/lib/parameter.c @@ -114,7 +114,7 @@ int dev_param_set_generic(struct device_d *dev, struct param_d *p, return 0; } p->value = strdup(val); - return 0; + return p->value ? 0 : -ENOMEM; } static const char *param_get_generic(struct device_d *dev, struct param_d *p) @@ -130,6 +130,10 @@ static int __dev_add_param(struct param_d *param, struct device_d *dev, const ch if (get_param_by_name(dev, name)) return -EEXIST; + param->name = strdup(name); + if (!param->name) + return -ENOMEM; + if (set) param->set = set; else @@ -139,7 +143,6 @@ static int __dev_add_param(struct param_d *param, struct device_d *dev, const ch else param->get = param_get_generic; - param->name = strdup(name); param->flags = flags; param->dev = dev; list_add_tail(¶m->list, &dev->parameters); |