Thank you for the greetings sir. First of all, I'd like to say that I'm a self taught person so... this thing of "do you think we are really going to do your homework for you?!" doesn't exist for me (did you know there are freaking bad colleges in the world?). Ah... I study in a college but the place where I study simply sucks (all my teachers try to hide the C implementation of the theory from us as much as they can and I mean ... always!). So, I decided to learn everything (as much as possible) from Computer Science by myself. So, please, take easy. I don't have a clue because I don't have anyone to teach me anything .
Back to the code ...
sorry if I didn't post the output:
==2737== Thread 3:
==2737== Invalid write of size 1
==2737== at 0x400D6C: consumer (prodcon.c:72)
==2737== by 0x4E38E0D: start_thread (in /lib64/libpthread-2.15.so)
==2737== Address 0x53f203f is1 bytes before a block of size 10 alloc'd
==2737== at 0x4C2ABED: malloc (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==2737== by 0x400B6D: main (prodcon.c:24)