#include /* ----------------- Example code from MISRA C:2012 begin ----------------- */ #include struct s { uint16_t len; uint32_t data[ ]; /* Non-compliant */ } str; struct s *copy ( struct s *s1 ) { struct s *s2; s2 = malloc ( sizeof ( struct s ) + ( s1->len * sizeof ( uint32_t ) ) ); *s2 = *s1; return s2; } /* ------------------ Example code from MISRA C:2012 end ------------------ */