CTF: Fix reading a session file
Use qsizetype. Invert fread arguments to get the read size. Pick-to: 6.5 Change-Id: I20684dc7a30177394b387e8893198007dbf36eed Reviewed-by: Janne Koskinen <janne.p.koskinen@qt.io> Reviewed-by: Hatem ElKharashy <hatem.elkharashy@qt.io>
This commit is contained in:
parent
8fa28b0cff
commit
11491fcc5f
@ -12,6 +12,7 @@
|
|||||||
#include <qsize.h>
|
#include <qsize.h>
|
||||||
#include <qmetaobject.h>
|
#include <qmetaobject.h>
|
||||||
#include <qendian.h>
|
#include <qendian.h>
|
||||||
|
#include <qplatformdefs.h>
|
||||||
#include "qctflib_p.h"
|
#include "qctflib_p.h"
|
||||||
#include <filesystem>
|
#include <filesystem>
|
||||||
|
|
||||||
@ -79,12 +80,12 @@ QCtfLibImpl::QCtfLibImpl()
|
|||||||
m_session.name = QStringLiteral("default");
|
m_session.name = QStringLiteral("default");
|
||||||
} else {
|
} else {
|
||||||
fseek(file, 0, SEEK_END);
|
fseek(file, 0, SEEK_END);
|
||||||
long pos = ftell(file);
|
qsizetype pos = ftell(file);
|
||||||
fseek(file, 0, SEEK_SET);
|
fseek(file, 0, SEEK_SET);
|
||||||
QByteArray data(pos, Qt::Uninitialized);
|
QByteArray data(pos, Qt::Uninitialized);
|
||||||
long size = (long)fread(data.data(), pos, 1, file);
|
qsizetype size = (qsizetype)fread(data.data(), 1, pos, file);
|
||||||
fclose(file);
|
fclose(file);
|
||||||
if (size != 1)
|
if (size != pos)
|
||||||
return;
|
return;
|
||||||
QJsonDocument json(QJsonDocument::fromJson(data));
|
QJsonDocument json(QJsonDocument::fromJson(data));
|
||||||
|
|
||||||
@ -93,7 +94,7 @@ QCtfLibImpl::QCtfLibImpl()
|
|||||||
if (value.isNull() || !value.isArray())
|
if (value.isNull() || !value.isArray())
|
||||||
return;
|
return;
|
||||||
m_session.name = obj.begin().key();
|
m_session.name = obj.begin().key();
|
||||||
QJsonArray arr = value.toArray();
|
const QJsonArray arr = value.toArray();
|
||||||
for (auto var : arr)
|
for (auto var : arr)
|
||||||
m_session.tracepoints.append(var.toString());
|
m_session.tracepoints.append(var.toString());
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user