include/xalloc: ensure xstrdup() and xstrndup() returns nonnull attribute
Turned out lsblk is passing null as argument to xstrdup(), so fix that and add assert() to make sure promise of not returning null is kept in future. Signed-off-by: Sami Kerola <kerolasa@iki.fi>
This commit is contained in:
parent
371be858d7
commit
f3aded3fdb
|
@ -62,8 +62,7 @@ static inline char __attribute__((warn_unused_result)) __ul_returns_nonnull
|
|||
{
|
||||
char *ret;
|
||||
|
||||
if (!str)
|
||||
return NULL;
|
||||
assert(str);
|
||||
|
||||
ret = strdup(str);
|
||||
|
||||
|
@ -77,8 +76,7 @@ xstrndup(const char *str, size_t size)
|
|||
{
|
||||
char *ret;
|
||||
|
||||
if (!str)
|
||||
return NULL;
|
||||
assert(str);
|
||||
|
||||
ret = strndup(str, size);
|
||||
|
||||
|
|
|
@ -774,8 +774,14 @@ static char *device_get_data(
|
|||
str = get_vfs_attribute(dev, id);
|
||||
break;
|
||||
case COL_TARGET:
|
||||
str = xstrdup(lsblk_device_get_mountpoint(dev));
|
||||
{
|
||||
char *s = lsblk_device_get_mountpoint(dev);
|
||||
if (s)
|
||||
str = xstrdup(s);
|
||||
else
|
||||
str = NULL;
|
||||
break;
|
||||
}
|
||||
case COL_LABEL:
|
||||
prop = lsblk_device_get_properties(dev);
|
||||
if (prop && prop->label)
|
||||
|
|
Loading…
Reference in New Issue