VirtualBox

Ticket #7395 (closed defect: fixed)

Opened 10 years ago

Last modified 10 years ago

glGetVertexAttrib[if]v returns superfluous data -> memory corruption -> Fixed in SVN

Reported by: kuroneko Owned by:
Component: 3D support Version: VirtualBox 3.2.8
Keywords: Cc:
Guest type: other Host type: other

Description

Host: Windows Vista, guest: Windows XP/SP3 with guest additions 3.2.8r64453

I'm aware that 3D support is experimental but so far I did't have any issues apart from the memory corruption caused by glGetVertexAttrib[if]v.

This function allows for 7 different name parameters:

GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING GL_VERTEX_ATTRIB_ARRAY_ENABLED GL_VERTEX_ATTRIB_ARRAY_SIZE GL_VERTEX_ATTRIB_ARRAY_STRIDE GL_VERTEX_ATTRIB_ARRAY_TYPE GL_VERTEX_ATTRIB_ARRAY_NORMALIZED GL_CURRENT_VERTEX_ATTRIB

The first 6 return a *single* GLint/GLfloat, the last one returns 4. What I experience is that the first 6 names return 4 parameters as well (the real one and garbage), therefore corrupting program variable/stack info which usually kills my program. This does not happen when running natively under Vista or XP.

As a side note, using GL_CURRENT_VERTEX_ATTRIB for index 0 should fail.

I'll attach a modified NeHe lesson (#6) which issues the relevant call (around line 200) and asserts when too much data is returned.

Attachments

validation-2010-08-30-09-36-10.log Download (69.6 KB) - added by kuroneko 10 years ago.
VM log
Lesson06.zip Download (224.9 KB) - added by kuroneko 10 years ago.
test app to trigger bug

Change History

Changed 10 years ago by kuroneko

VM log

Changed 10 years ago by kuroneko

test app to trigger bug

comment:1 Changed 10 years ago by leonid

  • Summary changed from glGetVertexAttrib[if]v returns superfluous data -> memory corruption to glGetVertexAttrib[if]v returns superfluous data -> memory corruption -> Fixed in SVN

Thank you for report, fixed in the tree.

comment:2 Changed 10 years ago by sandervl73

  • Status changed from new to closed
  • Resolution set to fixed
Note: See TracTickets for help on using tickets.

www.oracle.com
ContactPrivacy policyTerms of Use