Skip to content

Commit

Permalink
Add comments on trailing uint8[1] members in the "Common" structures (b…
Browse files Browse the repository at this point in the history
…ytecodealliance#1189)

Add comments to avoid abusing these members to store extra data.
  • Loading branch information
yamt authored May 26, 2022
1 parent 3fd763a commit 3168ba8
Showing 1 changed file with 15 additions and 0 deletions.
15 changes: 15 additions & 0 deletions core/iwasm/common/wasm_runtime_common.h
Original file line number Diff line number Diff line change
Expand Up @@ -303,6 +303,11 @@ typedef struct WASMModuleCommon {
Wasm_Module_AoT, and this structure should be treated as
AOTModule structure. */
uint32 module_type;

/* The following uint8[1] member is a dummy just to indicate
some module_type dependent members follow.
Typically it should be accessed by casting to the corresponding
actual module_type dependent structure, not via this member. */
uint8 module_data[1];
} WASMModuleCommon;

Expand All @@ -314,6 +319,11 @@ typedef struct WASMModuleInstanceCommon {
Wasm_Module_AoT, and this structure should be treated as
AOTModuleInstance structure. */
uint32 module_type;

/* The following uint8[1] member is a dummy just to indicate
some module_type dependent members follow.
Typically it should be accessed by casting to the corresponding
actual module_type dependent structure, not via this member. */
uint8 module_inst_data[1];
} WASMModuleInstanceCommon;

Expand Down Expand Up @@ -377,6 +387,11 @@ typedef struct WASMRegisteredModule {

typedef struct WASMMemoryInstanceCommon {
uint32 module_type;

/* The following uint8[1] member is a dummy just to indicate
some module_type dependent members follow.
Typically it should be accessed by casting to the corresponding
actual module_type dependent structure, not via this member. */
uint8 memory_inst_data[1];
} WASMMemoryInstanceCommon;

Expand Down

0 comments on commit 3168ba8

Please sign in to comment.