diff options
author | midipix <writeonce@midipix.org> | 2017-07-30 21:21:21 +0000 |
---|---|---|
committer | midipix <writeonce@midipix.org> | 2017-07-31 08:43:34 -0400 |
commit | 7e3ebda55a15849f5cc1e7ab53edfeedd9fae635 (patch) | |
tree | b98ebf1e21ec39370065ff5ff02448fcd6551d93 /src | |
parent | b1f553fc960f01e3884d90e4c7ef901ff32d51f1 (diff) | |
download | ntapi-7e3ebda55a15849f5cc1e7ab53edfeedd9fae635.tar.bz2 ntapi-7e3ebda55a15849f5cc1e7ab53edfeedd9fae635.tar.xz |
__ntapi_blt_alloc(): properly support user-provided block array regions.
Diffstat (limited to 'src')
-rw-r--r-- | src/blitter/ntapi_blt_alloc.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/blitter/ntapi_blt_alloc.c b/src/blitter/ntapi_blt_alloc.c index 5508166..92a84e9 100644 --- a/src/blitter/ntapi_blt_alloc.c +++ b/src/blitter/ntapi_blt_alloc.c @@ -37,7 +37,10 @@ int32_t __fastcall __ntapi_blt_alloc( size_t ptrs,i; /* alignment */ - if ((params->block_size % sizeof(uintptr_t)) || (params->block_count % sizeof(uintptr_t))) + if (params->block_count % sizeof(uintptr_t)) + return NT_STATUS_INVALID_PARAMETER; + + else if (!params->region && (params->block_size % sizeof(uintptr_t))) return NT_STATUS_INVALID_PARAMETER; /* blt control block allocation */ |