解决设备读取内存大小时如不支持则会导致卡死的问题

This commit is contained in:
yangjiaxuan 2023-10-13 09:56:23 +08:00
parent 66276e6c9f
commit cc0d64f17d
1 changed files with 9 additions and 3 deletions

View File

@ -1,4 +1,4 @@
#include "hg_scanner_300.h"
#include "hg_scanner_300.h"
#include "../wrapper/hg_log.h"
#if defined(WIN32) || defined(_WIN64)
@ -1564,7 +1564,10 @@ int hg_scanner_300::get_devs_cpu(string& cpu)
buff.resize(bufsize);
while (touch < usbcb.u32_Count)
{
io_->read_bulk(&buff[0], &bufsize);
ret = io_->read_bulk(&buff[0], &bufsize);
if (SCANNER_ERR_OK != ret)
return ret;
out.write(&buff[0], bufsize);
touch += bufsize;
bufsize = bufsize > usbcb.u32_Count - touch ? usbcb.u32_Count - touch : bufsize;
@ -1610,7 +1613,10 @@ int hg_scanner_300::get_devs_disk(string& disk)
buff.resize(bufsize);
while (touch < usbcb.u32_Count)
{
io_->read_bulk(&buff[0], &bufsize);
ret = io_->read_bulk(&buff[0], &bufsize);
if (SCANNER_ERR_OK != ret)
return ret;
out.write(&buff[0], bufsize);
touch += bufsize;
bufsize = bufsize > usbcb.u32_Count - touch ? usbcb.u32_Count - touch : bufsize;