brintos

brintos / llvm-project-archived public Read only

0
0
Text · 772 B · 7decb4a Raw
38 lines · c
1#include <stdlib.h>2#include <string.h>3 4struct WithFlexChar {5  int member;6  char flexible[];7};8 9struct WithFlexSChar {10  int member;11  signed char flexible[];12};13 14struct WithFlexUChar {15  int member;16  unsigned char flexible[];17};18 19#define CONTENTS "contents"20 21int main() {22  struct WithFlexChar *c =23      (struct WithFlexChar *)malloc(sizeof(int) + sizeof(CONTENTS));24  c->member = 1;25  strcpy(c->flexible, CONTENTS);26 27  struct WithFlexSChar *sc =28      (struct WithFlexSChar *)malloc(sizeof(int) + sizeof(CONTENTS));29  sc->member = 1;30  strcpy((char *)sc->flexible, CONTENTS);31 32  struct WithFlexUChar *uc =33      (struct WithFlexUChar *)malloc(sizeof(int) + sizeof(CONTENTS));34  uc->member = 1;35  strcpy((char *)uc->flexible, CONTENTS);36  return 0; // break here37}38