I'm looking for a list of all vulnerabilities that can be present in C so I can practice them all.
I found this: Category:C/C++, but it's not of much use.
Reverse Engineering Stack Exchange is a question and answer site for researchers and developers who explore the principles of a system through analysis of its structure, function, and operation. It only takes a minute to sign up.Sign up to join this community
Not a vulnerability list by itself, but SEI CERT C Coding Standard lists many “dangerous” code patterns which can be a source of vulnerabilities.
The book The Art of Software Security Assessment is a little old by now but still contains a lot of valuable advice.
This is a great resource. You can find most of the material on SEI CERT website but the book is great.