@@ -223,7 +223,7 @@ namespace
223
223
return E_FAIL;
224
224
}
225
225
226
- if (ddsDataSize < ( sizeof ( uint32_t ) + sizeof (DDS_HEADER)) )
226
+ if (ddsDataSize < DDS_MIN_HEADER_SIZE )
227
227
{
228
228
return E_FAIL;
229
229
}
@@ -250,7 +250,7 @@ namespace
250
250
(MAKEFOURCC (' D' , ' X' , ' 1' , ' 0' ) == hdr->ddspf .fourCC ))
251
251
{
252
252
// Must be long enough for both headers and magic value
253
- if (ddsDataSize < ( sizeof ( uint32_t ) + sizeof (DDS_HEADER) + sizeof (DDS_HEADER_DXT10)) )
253
+ if (ddsDataSize < DDS_DX10_HEADER_SIZE )
254
254
{
255
255
return E_FAIL;
256
256
}
@@ -260,8 +260,7 @@ namespace
260
260
261
261
// setup the pointers in the process request
262
262
*header = hdr;
263
- auto offset = sizeof (uint32_t )
264
- + sizeof (DDS_HEADER)
263
+ auto offset = DDS_MIN_HEADER_SIZE
265
264
+ (bDXT10Header ? sizeof (DDS_HEADER_DXT10) : 0u );
266
265
*bitData = ddsData + offset;
267
266
*bitSize = ddsDataSize - offset;
@@ -311,7 +310,7 @@ namespace
311
310
}
312
311
313
312
// Need at least enough data to fill the header and magic number to be a valid DDS
314
- if (fileInfo.EndOfFile .LowPart < ( sizeof ( uint32_t ) + sizeof (DDS_HEADER)) )
313
+ if (fileInfo.EndOfFile .LowPart < DDS_MIN_HEADER_SIZE )
315
314
{
316
315
return E_FAIL;
317
316
}
@@ -354,7 +353,7 @@ namespace
354
353
return E_FAIL;
355
354
356
355
// Need at least enough data to fill the header and magic number to be a valid DDS
357
- if (fileLen < ( sizeof ( uint32_t ) + sizeof (DDS_HEADER)) )
356
+ if (fileLen < DDS_MIN_HEADER_SIZE )
358
357
return E_FAIL;
359
358
360
359
ddsData.reset (new (std::nothrow) uint8_t [size_t (fileLen)]);
@@ -404,7 +403,7 @@ namespace
404
403
(MAKEFOURCC (' D' , ' X' , ' 1' , ' 0' ) == hdr->ddspf .fourCC ))
405
404
{
406
405
// Must be long enough for both headers and magic value
407
- if (len < ( sizeof ( uint32_t ) + sizeof (DDS_HEADER) + sizeof (DDS_HEADER_DXT10)) )
406
+ if (len < DDS_DX10_HEADER_SIZE )
408
407
{
409
408
ddsData.reset ();
410
409
return E_FAIL;
@@ -415,7 +414,7 @@ namespace
415
414
416
415
// setup the pointers in the process request
417
416
*header = hdr;
418
- auto offset = sizeof ( uint32_t ) + sizeof (DDS_HEADER)
417
+ auto offset = DDS_MIN_HEADER_SIZE
419
418
+ (bDXT10Header ? sizeof (DDS_HEADER_DXT10) : 0u );
420
419
*bitData = ddsData.get () + offset;
421
420
*bitSize = len - offset;
0 commit comments