forked from qt-creator/qt-creator
qmake: fix UB in QMakeParser::putHashStr()
Found by UBSan: qmake/library/qmakeparser.cpp:278:33: runtime error: null pointer passed as argument 2, which is declared to never be null Guard the call. Change-Id: I99341ab439a511f366dae9344ddcc8727c33b9b6 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com> (cherry picked from qtbase/1fd0d57ce3da83631423d17faadf97133f5c7835) Reviewed-by: Marc Mutz <marc.mutz@kdab.com> Reviewed-by: Jake Petroules <jake.petroules@qt.io>
This commit is contained in:
committed by
Oswald Buddenhagen
parent
73fead33dc
commit
bbb353b113
@@ -272,7 +272,8 @@ void QMakeParser::putHashStr(ushort *&pTokPtr, const ushort *buf, uint len)
|
||||
*tokPtr++ = (ushort)hash;
|
||||
*tokPtr++ = (ushort)(hash >> 16);
|
||||
*tokPtr++ = (ushort)len;
|
||||
memcpy(tokPtr, buf, len * 2);
|
||||
if (len) // buf may be nullptr; don't pass that to memcpy (-> undefined behavior)
|
||||
memcpy(tokPtr, buf, len * 2);
|
||||
pTokPtr = tokPtr + len;
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user