Browse Source

mei: bus: elminate variable length arrays

Though VLA are supported by CC99 there are many cavities
and should be avoided.

'const size_t len = sizeof()' that we used may not be set
at the compile time hence generating VLA code.

This fixes also sparse warning
warning: Variable length array is used type.

Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Tomas Winkler 8 years ago
parent
commit
dd04eecc41
1 changed files with 5 additions and 4 deletions
  1. 5 4
      drivers/misc/mei/bus-fixup.c

+ 5 - 4
drivers/misc/mei/bus-fixup.c

@@ -110,12 +110,13 @@ struct mkhi_msg {
 	u8 data[0];
 	u8 data[0];
 } __packed;
 } __packed;
 
 
+#define MKHI_OSVER_BUF_LEN (sizeof(struct mkhi_msg_hdr) + \
+			    sizeof(struct mkhi_fwcaps) + \
+			    sizeof(struct mei_os_ver))
 static int mei_osver(struct mei_cl_device *cldev)
 static int mei_osver(struct mei_cl_device *cldev)
 {
 {
-	const size_t size = sizeof(struct mkhi_msg_hdr) +
-			    sizeof(struct mkhi_fwcaps) +
-			    sizeof(struct mei_os_ver);
-	char buf[size];
+	const size_t size = MKHI_OSVER_BUF_LEN;
+	char buf[MKHI_OSVER_BUF_LEN];
 	struct mkhi_msg *req;
 	struct mkhi_msg *req;
 	struct mkhi_fwcaps *fwcaps;
 	struct mkhi_fwcaps *fwcaps;
 	struct mei_os_ver *os_ver;
 	struct mei_os_ver *os_ver;