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:
Sami Kerola 2019-07-12 22:28:10 +01:00
parent 371be858d7
commit f3aded3fdb
No known key found for this signature in database
GPG Key ID: 0D46FEF7E61DBB46
2 changed files with 9 additions and 5 deletions

View File

@ -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);

View File

@ -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)