From d14aba45803fa3b49c48914d0c38f2c8872286b4 Mon Sep 17 00:00:00 2001 From: Dean Lee Date: Tue, 6 Apr 2021 01:05:04 +0800 Subject: [PATCH] remove memory leak in create_jwt() (#20547) --- selfdrive/ui/qt/api.cc | 6 +----- selfdrive/ui/qt/api.hpp | 3 +-- selfdrive/ui/qt/widgets/setup.cc | 4 +--- 3 files changed, 3 insertions(+), 10 deletions(-) diff --git a/selfdrive/ui/qt/api.cc b/selfdrive/ui/qt/api.cc index c95281aa..097c1cd5 100644 --- a/selfdrive/ui/qt/api.cc +++ b/selfdrive/ui/qt/api.cc @@ -72,10 +72,6 @@ QString CommaApi::create_jwt(QVector> payloads, int e return jwt; } -QString CommaApi::create_jwt() { - return create_jwt(*(new QVector>())); -} - RequestRepeater::RequestRepeater(QWidget* parent, QString requestURL, int period_seconds, const QString &cache_key, bool disableWithScreen) : disableWithScreen(disableWithScreen), cache_key(cache_key), QObject(parent) { networkAccessManager = new QNetworkAccessManager(this); @@ -104,7 +100,7 @@ void RequestRepeater::sendRequest(QString requestURL){ return; } - QString token = CommaApi::create_jwt({}); + QString token = CommaApi::create_jwt(); QNetworkRequest request; request.setUrl(QUrl(requestURL)); request.setRawHeader(QByteArray("Authorization"), ("JWT " + token).toUtf8()); diff --git a/selfdrive/ui/qt/api.hpp b/selfdrive/ui/qt/api.hpp index cd18e72c..e8e8312c 100644 --- a/selfdrive/ui/qt/api.hpp +++ b/selfdrive/ui/qt/api.hpp @@ -19,8 +19,7 @@ class CommaApi : public QObject { public: static QByteArray rsa_sign(QByteArray data); - static QString create_jwt(QVector> payloads, int expiry=3600); - static QString create_jwt(); + static QString create_jwt(QVector> payloads = {}, int expiry=3600); private: QNetworkAccessManager* networkAccessManager; diff --git a/selfdrive/ui/qt/widgets/setup.cc b/selfdrive/ui/qt/widgets/setup.cc index 32e14f20..cf99b941 100644 --- a/selfdrive/ui/qt/widgets/setup.cc +++ b/selfdrive/ui/qt/widgets/setup.cc @@ -37,9 +37,7 @@ void PairingQRWidget::refresh(){ qrCode->setStyleSheet(R"(font-size: 60px;)"); return; } - QVector> payloads; - payloads.push_back(qMakePair(QString("pair"), true)); - QString pairToken = CommaApi::create_jwt(payloads); + QString pairToken = CommaApi::create_jwt({{"pair", true}}); QString qrString = IMEI + "--" + serial + "--" + pairToken; this->updateQrCode(qrString);