From a2580a85a82bdfdd25f71e17fe233ec5beaac2e0 Mon Sep 17 00:00:00 2001 From: Chris Robinson Date: Sun, 19 Sep 2010 14:00:55 -0700 Subject: [PATCH] Improve range checking for BufferSubData --- OpenAL32/alBuffer.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/OpenAL32/alBuffer.c b/OpenAL32/alBuffer.c index 938caca2..2ffa13e6 100644 --- a/OpenAL32/alBuffer.c +++ b/OpenAL32/alBuffer.c @@ -584,8 +584,8 @@ 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(offset+length < offset || - offset+length > ALBuf->OriginalSize || + else if(offset > ALBuf->OriginalSize || + length > ALBuf->OriginalSize-offset || (offset%ALBuf->OriginalAlign) != 0 || (length%ALBuf->OriginalAlign) != 0) alSetError(Context, AL_INVALID_VALUE);