QResource: catch signed integer overflow (just in case)
Change-Id: I343f2beed55440a7ac0bfffd156321748e4d6048 Reviewed-by: Lars Knoll <lars.knoll@qt.io>bb10
parent
b971310e2d
commit
75e8f6f41e
|
|
@ -54,6 +54,7 @@
|
|||
#include <qplatformdefs.h>
|
||||
#include <qendian.h>
|
||||
#include "private/qabstractfileengine_p.h"
|
||||
#include "private/qnumeric_p.h"
|
||||
#include "private/qsimd_p.h"
|
||||
#include "private/qsystemerror_p.h"
|
||||
|
||||
|
|
@ -1502,7 +1503,9 @@ uchar *QResourceFileEnginePrivate::map(qint64 offset, qint64 size, QFile::Memory
|
|||
{
|
||||
Q_Q(QResourceFileEngine);
|
||||
Q_UNUSED(flags);
|
||||
if (offset < 0 || size <= 0 || !resource.isValid() || offset + size > resource.size()) {
|
||||
qint64 end;
|
||||
if (offset < 0 || size <= 0 || !resource.isValid() ||
|
||||
add_overflow(offset, size, &end) || end > resource.size()) {
|
||||
q->setError(QFile::UnspecifiedError, QString());
|
||||
return 0;
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue