[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [PATCH for-4.15 5/5] tools/xenstored: Silence coverity when using xs_state_* structures
On 25.02.21 18:41, Julien Grall wrote: From: Julien Grall <jgrall@xxxxxxxxxx> Coverity will report unitialized values for every use of xs_state_* structures in the save part. This can be prevented by using the [0] rather than [] to define variable length array. Coverity-ID: 1472398 Coverity-ID: 1472397 Coverity-ID: 1472396 Coverity-ID: 1472395 Signed-off-by: Julien Grall <jgrall@xxxxxxxxxx> Sorry, but Coverity is clearly wrong here. Should we really modify our code to work around bugs in external static code analyzers? Juergen --- From my understanding, the tools and the hypervisor already rely on GNU extensions. So the change should be fine. If not, we can use the same approach as XEN_FLEX_ARRAY_DIM. --- tools/xenstore/include/xenstore_state.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/tools/xenstore/include/xenstore_state.h b/tools/xenstore/include/xenstore_state.h index ae0d053c8ffc..407d9e920c0f 100644 --- a/tools/xenstore/include/xenstore_state.h +++ b/tools/xenstore/include/xenstore_state.h @@ -86,7 +86,7 @@ struct xs_state_connection { uint16_t data_in_len; /* Number of unprocessed bytes read from conn. */ uint16_t data_resp_len; /* Size of partial response pending for conn. */ uint32_t data_out_len; /* Number of bytes not yet written to conn. */ - uint8_t data[]; /* Pending data (read, written) + 0-7 pad bytes. */ + uint8_t data[0]; /* Pending data (read, written) + 0-7 pad bytes. */ };/* Watch: */@@ -94,7 +94,7 @@ struct xs_state_watch { uint32_t conn_id; /* Connection this watch is associated with. */ uint16_t path_length; /* Number of bytes of path watched (incl. 0). */ uint16_t token_length; /* Number of bytes of watch token (incl. 0). */ - uint8_t data[]; /* Path bytes, token bytes, 0-7 pad bytes. */ + uint8_t data[0]; /* Path bytes, token bytes, 0-7 pad bytes. */ };/* Transaction: */@@ -125,7 +125,7 @@ struct xs_state_node { #define XS_STATE_NODE_TA_WRITTEN 0x0002 uint16_t perm_n; /* Number of permissions (0 in TA: node deleted). */ /* Permissions (first is owner, has full access). */ - struct xs_state_node_perm perms[]; + struct xs_state_node_perm perms[0]; /* Path and data follows, plus 0-7 pad bytes. */ }; #endif /* XENSTORE_STATE_H */ Attachment:
OpenPGP_0xB0DE9DD628BF132F.asc Attachment:
OpenPGP_signature
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |