VirtualBox

vbox的更動 62179 路徑 trunk/src/VBox/ValidationKit


忽略:
時間撮記:
2016-7-12 上午09:02:41 (8 年 以前)
作者:
vboxsync
訊息:

ValidationKit/txsclient.py: Convert string read from the stdin object to an array or it will get zero terminated by TransportBase.sendMsg corrupting the data to send

檔案:
修改 1 筆資料

圖例:

未更動
新增
刪除
  • trunk/src/VBox/ValidationKit/testdriver/txsclient.py

    r62159 r62179  
    750750                   and not isinstance(oStdIn, basestring):
    751751                    try:
    752                         abInput = oStdIn.read(65536);
     752                        sInput = oStdIn.read(65536);
    753753                    except:
    754754                        reporter.errorXcpt('read standard in');
     
    756756                        rc = None;
    757757                        break;
    758                     if len(abInput) > 0:
    759                         oStdIn.uTxsClientCrc32 = zlib.crc32(abInput, oStdIn.uTxsClientCrc32);
     758                    if len(sInput) > 0:
     759                        oStdIn.uTxsClientCrc32 = zlib.crc32(sInput, oStdIn.uTxsClientCrc32);
     760                        # Convert to a byte array before handing it of to sendMsg or the string
     761                        # will get some zero termination added breaking the CRC (and injecting
     762                        # unwanted bytes).
     763                        abInput = array.array('B', sInput);
    760764                        rc = self.sendMsg('STDIN', (long(oStdIn.uTxsClientCrc32 & 0xffffffff), abInput));
    761765                        if rc is not True:
注意: 瀏覽 TracChangeset 來幫助您使用更動檢視器

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette