zfs/lib/libzfs
Richard Yao 72c99dc959
Handle possible null pointers from malloc/strdup/strndup()
GCC 12.1.1_p20220625's static analyzer caught these.

Of the two in the btree test, one had previously been caught by Coverity
and Smatch, but GCC flagged it as a false positive. Upon examining how
other test cases handle this, the solution was changed from
`ASSERT3P(node, !=, NULL);` to using `perror()` to be consistent with
the fixes to the other fixes done to the ZTS code.

That approach was also used in ZED since I did not see a better way of
handling this there. Also, upon inspection, additional unchecked
pointers from malloc()/calloc()/strdup() were found in ZED, so those
were handled too.

In other parts of the code, the existing methods to avoid issues from
memory allocators returning NULL were used, such as using
`umem_alloc(size, UMEM_NOFAIL)` or returning `ENOMEM`.

Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Reviewed-by: Tony Hutter <hutter2@llnl.gov>
Signed-off-by: Richard Yao <richard.yao@alumni.stonybrook.edu>
Closes #13979
2022-10-06 17:18:40 -07:00
..
os Fix unsafe string operations 2022-09-27 16:47:24 -07:00
.gitignore Clean up lib dependencies 2020-07-10 14:26:00 -07:00
Makefile.am Replace EXTRA_DIST with dist_noinst_DATA 2022-05-26 09:24:50 -07:00
THIRDPARTYLICENSE.openssl Fix typos in lib/ 2019-09-02 17:53:27 -07:00
THIRDPARTYLICENSE.openssl.descrip Encryption patch follow-up 2017-10-11 16:54:48 -04:00
libzfs.abi Add membar_sync abi change 2022-10-04 09:54:58 -07:00
libzfs.pc.in Spruce up pkg-config files for libzfs/libzfs_core 2020-09-04 11:11:18 -07:00
libzfs.suppr Library ABI tracking with abigail 2020-11-17 09:18:52 -08:00
libzfs_changelist.c Replace dead opensolaris.org license link 2022-07-11 14:16:13 -07:00
libzfs_config.c Replace dead opensolaris.org license link 2022-07-11 14:16:13 -07:00
libzfs_crypto.c Enable -Wwrite-strings 2022-06-29 14:08:54 -07:00
libzfs_dataset.c Fix userland dereference NULL return value bugs 2022-09-30 17:02:57 -07:00
libzfs_diff.c Cleanup: Switch to strlcpy from strncpy 2022-09-27 16:35:29 -07:00
libzfs_impl.h Replace dead opensolaris.org license link 2022-07-11 14:16:13 -07:00
libzfs_import.c Replace dead opensolaris.org license link 2022-07-11 14:16:13 -07:00
libzfs_iter.c Replace dead opensolaris.org license link 2022-07-11 14:16:13 -07:00
libzfs_mount.c Make zfs-share service resilient to stale exports 2022-09-09 10:54:16 -07:00
libzfs_pool.c zed: mark disks as REMOVED when they are removed 2022-09-28 09:48:46 -07:00
libzfs_sendrecv.c Handle possible null pointers from malloc/strdup/strndup() 2022-10-06 17:18:40 -07:00
libzfs_status.c Replace dead opensolaris.org license link 2022-07-11 14:16:13 -07:00
libzfs_util.c Enforce "-F" flag on resuming recv of full/newfs on existing dataset 2022-09-27 16:34:27 -07:00