In Chapter 6, section “Using Textures”, example 6.9, there is a call to
glBufferData(GL_ARRAY_BUFFER, quad_data, sizeof(quad_data), GL_STATIC_DRAW);
,
however, it should be
glBufferData(GL_ARRAY_BUFFER, sizeof(quad_data), quad_data, GL_STATIC_DRAW);
instead.