(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.dg/
analyzer/
signal-5.c
       1  /* Example of other bad calls within a signal handler.  */
       2  /* { dg-require-effective-target signal } */
       3  
       4  #include <stdlib.h>
       5  #include <signal.h>
       6  
       7  extern void do_stuff (void *ptr);
       8  extern void body_of_program(void);
       9  
      10  static void handler(int signum)
      11  {
      12    void *ptr = malloc (1024); /* { dg-warning "call to 'malloc' from within signal handler" } */
      13    do_stuff (ptr);
      14    free (ptr); /* { dg-warning "call to 'free' from within signal handler" } */
      15  }
      16  
      17  int main(int argc, const char *argv)
      18  {
      19    signal(SIGINT, handler); /* { dg-message "registering 'handler' as signal handler" } */
      20    body_of_program();
      21    return 0;
      22  }