1 #include <pthread.h> 2 #include <stdio.h> 3 #include <stdlib.h> 4 5 char *pointer; 6 7 void *f1(void *p) { 8 pointer[0] = 'x'; // thread1 line 9 return NULL; 10 } 11 12 void *f2(void *p) { 13 pointer[0] = 'y'; // thread2 line 14 return NULL; 15 } 16 17 int main (int argc, char const *argv[]) 18 { 19 for (int i = 0; i < 100; i++) { 20 pointer = (char *)malloc(10); // malloc line 21 22 pthread_t t1, t2; 23 pthread_create(&t1, NULL, f1, NULL); 24 pthread_create(&t2, NULL, f2, NULL); 25 26 pthread_join(t1, NULL); 27 pthread_join(t2, NULL); 28 29 free(pointer); 30 } 31 return 0; 32 } 33