diff --git a/src/shared/mount-util.h b/src/shared/mount-util.h index 7183897686..6469181d1c 100644 --- a/src/shared/mount-util.h +++ b/src/shared/mount-util.h @@ -93,8 +93,10 @@ int mode_to_inaccessible_node(const char *runtime_dir, mode_t mode, char **dest) /* Useful for usage with _cleanup_(), unmounts, removes a directory and frees the pointer */ static inline char* umount_and_rmdir_and_free(char *p) { PROTECT_ERRNO; - (void) umount_recursive(p, 0); - (void) rmdir(p); + if (p) { + (void) umount_recursive(p, 0); + (void) rmdir(p); + } return mfree(p); } DEFINE_TRIVIAL_CLEANUP_FUNC(char*, umount_and_rmdir_and_free);