aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--OpenAL32/alBuffer.c6
1 files 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
{