From c6b948323ebc8632e0b763f090cdcd19255d0ac2 Mon Sep 17 00:00:00 2001 From: Chris Robinson Date: Mon, 24 May 2010 21:33:43 -0700 Subject: Better watch for invalid values in alBufferSubDataEXT --- OpenAL32/alBuffer.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/OpenAL32/alBuffer.c b/OpenAL32/alBuffer.c index 8589f330..72af95f0 100644 --- a/OpenAL32/alBuffer.c +++ b/OpenAL32/alBuffer.c @@ -582,10 +582,10 @@ AL_API ALvoid AL_APIENTRY alBufferSubDataEXT(ALuint buffer,ALenum format,const A alSetError(Context, AL_INVALID_VALUE); else if(ALBuf->eOriginalFormat != format) alSetError(Context, AL_INVALID_ENUM); - else if(ALBuf->OriginalAlign == 0 || + else if(offset+length < offset || + offset+length > ALBuf->OriginalSize || (offset%ALBuf->OriginalAlign) != 0 || - (length%ALBuf->OriginalAlign) != 0 || - offset+length > ALBuf->OriginalSize) + (length%ALBuf->OriginalAlign) != 0) alSetError(Context, AL_INVALID_VALUE); else { -- cgit v1.2.3