| 
  
 pamark 
  | 
     ‘pamark’: events 1-5 
|    29 |   if (p != (AMARK *)NULL) { |  
 |      ^ |  
 |      | |  
 |      (1) following ‘false’ branch (when ‘p’ is NULL)... |  
| [...] |  |  
|    32 |     if ((p = (AMARK *)malloc(sizeof(AMARK))) == (AMARK *)NULL) |  
 |        ~              ~~~~~~~~~~~~~~~~~~~~~ |  
 |        |              | |  
 |        |              (2) ...to here |  
 |        |              (3) allocated here |  
 |        (4) assuming ‘p’ is non-NULL |  
 |        (5) following ‘false’ branch (when ‘p’ is non-NULL)... |  
 
 |   
  | 
     ‘pamark’: events 6-7 
|    35 |     p->m_next = (AMARK *)NULL; |  
 |               ^ |  
 |               | |  
 |               (6) ...to here |  
| [...] |  |  
|    46 |   return 1; |  
 |          ~      |  
 |          | |  
 |          (7) ‘p’ leaks here; was allocated at (3) |  
 
 |   
 |