diff options
author | Karel Zak | 2019-07-15 11:37:17 +0200 |
---|---|---|
committer | Karel Zak | 2019-07-15 11:37:17 +0200 |
commit | 6744302ce5b23ef19d7cfaa20cb53d27642ea8ac (patch) | |
tree | cf0b984c0ecc6b52e39caf2e39d7f4cc6f9b252a | |
parent | build-sys: Include <stdlib.h> in ./configure wchar_t test (diff) | |
parent | libblkid: fix address sanitizer issues (diff) | |
download | kernel-qcow2-util-linux-6744302ce5b23ef19d7cfaa20cb53d27642ea8ac.tar.gz kernel-qcow2-util-linux-6744302ce5b23ef19d7cfaa20cb53d27642ea8ac.tar.xz kernel-qcow2-util-linux-6744302ce5b23ef19d7cfaa20cb53d27642ea8ac.zip |
Merge branch '2019wk27' of https://github.com/kerolasa/util-linux
* '2019wk27' of https://github.com/kerolasa/util-linux:
libblkid: fix address sanitizer issues
libblkid: check number of test_blkid_save arguments correctly
include/xalloc: ensure xstrdup() and xstrndup() returns nonnull attribute
libmount: fix potential null pointer dereference
libfdisk: fix variable shadowing
lib/ttyutils: avoid checking same thing twice
-rw-r--r-- | include/xalloc.h | 6 | ||||
-rw-r--r-- | lib/ttyutils.c | 16 | ||||
-rw-r--r-- | libblkid/src/save.c | 2 | ||||
-rw-r--r-- | libblkid/src/superblocks/drbd.c | 2 | ||||
-rw-r--r-- | libblkid/src/superblocks/zfs.c | 2 | ||||
-rw-r--r-- | libfdisk/src/context.c | 2 | ||||
-rw-r--r-- | libmount/src/optstr.c | 4 | ||||
-rw-r--r-- | misc-utils/lsblk.c | 8 |
8 files changed, 24 insertions, 18 deletions
diff --git a/include/xalloc.h b/include/xalloc.h index 0129a85e2..48712a452 100644 --- a/include/xalloc.h +++ b/include/xalloc.h @@ -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); diff --git a/lib/ttyutils.c b/lib/ttyutils.c index 166e49e11..8649f435a 100644 --- a/lib/ttyutils.c +++ b/lib/ttyutils.c @@ -47,16 +47,16 @@ int get_terminal_dimension(int *cols, int *lines) l = t_win.ts_lines; } #endif - - if (cols && c <= 0) - c = get_env_int("COLUMNS"); - if (lines && l <= 0) - l = get_env_int("LINES"); - - if (cols) + if (cols) { + if (c <= 0) + c = get_env_int("COLUMNS"); *cols = c; - if (lines) + } + if (lines) { + if (l <= 0) + l = get_env_int("LINES"); *lines = l; + } return 0; } diff --git a/libblkid/src/save.c b/libblkid/src/save.c index 21308a9cf..bceaa1139 100644 --- a/libblkid/src/save.c +++ b/libblkid/src/save.c @@ -213,7 +213,7 @@ int main(int argc, char **argv) int ret; blkid_init_debug(BLKID_DEBUG_ALL); - if (argc > 2) { + if (argc != 2) { fprintf(stderr, "Usage: %s [filename]\n" "Test loading/saving a cache (filename)\n", argv[0]); exit(1); diff --git a/libblkid/src/superblocks/drbd.c b/libblkid/src/superblocks/drbd.c index 4ebaf1739..c27a8b384 100644 --- a/libblkid/src/superblocks/drbd.c +++ b/libblkid/src/superblocks/drbd.c @@ -109,7 +109,7 @@ struct meta_data_on_disk_9 { struct peer_dev_md_on_disk_9 peers[DRBD_PEERS_MAX]; uint64_t history_uuids[HISTORY_UUIDS]; - char padding[0] __attribute__((aligned(4096))); + uint8_t padding[2704]; } __attribute__((packed)); diff --git a/libblkid/src/superblocks/zfs.c b/libblkid/src/superblocks/zfs.c index 4d4b46d55..0af14fb65 100644 --- a/libblkid/src/superblocks/zfs.c +++ b/libblkid/src/superblocks/zfs.c @@ -58,7 +58,7 @@ struct nvuint64 { uint32_t nvu_type; uint32_t nvu_elem; uint64_t nvu_value; -}; +} __attribute__((packed)); struct nvlist { uint32_t nvl_unknown[3]; diff --git a/libfdisk/src/context.c b/libfdisk/src/context.c index 3677648e9..770aa4d52 100644 --- a/libfdisk/src/context.c +++ b/libfdisk/src/context.c @@ -675,7 +675,7 @@ int fdisk_assign_device(struct fdisk_context *cxt, fd = open(fname, (readonly ? O_RDONLY : O_RDWR ) | O_CLOEXEC); if (fd < 0) { - int rc = -errno; + rc = -errno; DBG(CXT, ul_debugobj(cxt, "failed to assign device [rc=%d]", rc)); return rc; } diff --git a/libmount/src/optstr.c b/libmount/src/optstr.c index c0f438fe2..49fc9cc40 100644 --- a/libmount/src/optstr.c +++ b/libmount/src/optstr.c @@ -351,7 +351,9 @@ int mnt_optstr_deduplicate_option(char **optstr, const char *name) end = ol.end; opt = end && *end ? end + 1 : NULL; } - } while (rc == 0 && opt && *opt); + if (opt == NULL) + break; + } while (rc == 0 && *opt); return rc < 0 ? rc : begin ? 0 : 1; } diff --git a/misc-utils/lsblk.c b/misc-utils/lsblk.c index 3ce6da730..7ab9dc23c 100644 --- a/misc-utils/lsblk.c +++ b/misc-utils/lsblk.c @@ -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) |