fs/squashfs: Fix Coverity Scan defects

Fix defects such as uninitialized variables and untrusted pointer
operations. Most part of the tainted variables and the related defects
actually comes from Linux's macro get_unaligned_le**, extensively used
in SquashFS code. Add sanity checks for those variables.

Signed-off-by: Joao Marcos Costa <joaomarcos.costa@bootlin.com>
diff --git a/fs/squashfs/sqfs_inode.c b/fs/squashfs/sqfs_inode.c
index b037a9b..1387779 100644
--- a/fs/squashfs/sqfs_inode.c
+++ b/fs/squashfs/sqfs_inode.c
@@ -138,11 +138,14 @@
 int sqfs_read_metablock(unsigned char *file_mapping, int offset,
 			bool *compressed, u32 *data_size)
 {
-	unsigned char *data;
+	const unsigned char *data;
 	u16 header;
 
 	data = file_mapping + offset;
 	header = get_unaligned((u16 *)data);
+	if (!header || !data)
+		return -EINVAL;
+
 	*compressed = SQFS_COMPRESSED_METADATA(header);
 	*data_size = SQFS_METADATA_SIZE(header);