cifs: Replace zero-length arrays with flexible-array members
authorGustavo A. R. Silva <gustavoars@kernel.org>
Tue, 10 Jan 2023 01:39:00 +0000 (19:39 -0600)
committerSteve French <stfrench@microsoft.com>
Thu, 1 Jun 2023 04:00:26 +0000 (23:00 -0500)
Zero-length arrays are deprecated[1] and we are moving towards
adopting C99 flexible-array members instead. So, replace zero-length
arrays in a couple of structures with flex-array members.

This helps with the ongoing efforts to tighten the FORTIFY_SOURCE
routines on memcpy() and help us make progress towards globally
enabling -fstrict-flex-arrays=3 [2].

Link: https://www.kernel.org/doc/html/latest/process/deprecated.html#zero-length-and-one-element-arrays
Link: https://gcc.gnu.org/pipermail/gcc-patches/2022-October/602902.html
Link: https://github.com/KSPP/linux/issues/78
Signed-off-by: Gustavo A. R. Silva <gustavoars@kernel.org>
Reviewed-by: Kees Cook <keescook@chromium.org>
Reviewed-by: Paulo Alcantara <pc@cjr.nz>
Signed-off-by: Steve French <stfrench@microsoft.com>
fs/cifs/ntlmssp.h

index 55758b9ec877ec71b48f29fc433270b73c2d03a8..2c5dde2ece588ac0b6b41dec38fdebf3873faf83 100644 (file)
@@ -83,7 +83,7 @@ typedef struct _NEGOTIATE_MESSAGE {
        SECURITY_BUFFER WorkstationName;        /* RFC 1001 and ASCII */
        /* SECURITY_BUFFER for version info not present since we
           do not set the version is present flag */
-       char DomainString[0];
+       char DomainString[];
        /* followed by WorkstationString */
 } __attribute__((packed)) NEGOTIATE_MESSAGE, *PNEGOTIATE_MESSAGE;
 
@@ -135,7 +135,7 @@ typedef struct _AUTHENTICATE_MESSAGE {
        __le32 NegotiateFlags;
        /* SECURITY_BUFFER for version info not present since we
           do not set the version is present flag */
-       char UserString[0];
+       char UserString[];
 } __attribute__((packed)) AUTHENTICATE_MESSAGE, *PAUTHENTICATE_MESSAGE;
 
 /*