Seg fault due to Shader uniform

Hi, whenever i try to run my code i get a seg fault when it runs this line
glDrawArrays(GL_TRIANGLES, 0, 3);

I believe this is due to my uniform TriangleColor in shader.cpp not being changed whenever i run this line in render.cpp

glUniform3f(glGetUniformLocation(ShaderProgram,“TriangleColor”),1.0f, 0.0f, 0.0f);

any advice to get this working would be appreciated!, all of the code worked and produced a triangle before i started messing with uniforms so it is seemingly working but likely messy code.

Project here:

Edit: Fixed, was missing glBufferData();