Loading adb/transport.cpp +6 −9 Original line number Diff line number Diff line Loading @@ -1050,27 +1050,24 @@ void unregister_usb_transport(usb_handle* usb) { [usb](atransport* t) { return t->usb == usb && t->GetConnectionState() == kCsNoPerm; }); } int check_header(apacket* p, atransport* t) { bool check_header(apacket* p, atransport* t) { if (p->msg.magic != (p->msg.command ^ 0xffffffff)) { VLOG(RWX) << "check_header(): invalid magic command = " << std::hex << p->msg.command << ", magic = " << p->msg.magic; return -1; return false; } if (p->msg.data_length > t->get_max_payload()) { VLOG(RWX) << "check_header(): " << p->msg.data_length << " atransport::max_payload = " << t->get_max_payload(); return -1; return false; } return 0; return true; } int check_data(apacket* p) { if (calculate_apacket_checksum(p) != p->msg.data_check) { return -1; } return 0; bool check_data(apacket* p) { return calculate_apacket_checksum(p) == p->msg.data_check; } #if ADB_HOST Loading adb/transport.h +2 −2 Original line number Diff line number Diff line Loading @@ -221,8 +221,8 @@ int register_socket_transport(int s, const char* serial, int port, int local); // This should only be used for transports with connection_state == kCsNoPerm. void unregister_usb_transport(usb_handle* usb); int check_header(apacket* p, atransport* t); int check_data(apacket* p); bool check_header(apacket* p, atransport* t); bool check_data(apacket* p); void close_usb_devices(); void close_usb_devices(std::function<bool(const atransport*)> predicate); Loading adb/transport_local.cpp +4 −4 Original line number Diff line number Diff line Loading @@ -67,7 +67,7 @@ static int remote_read(apacket *p, atransport *t) return -1; } if(check_header(p, t)) { if (!check_header(p, t)) { D("bad header: terminated (data)"); return -1; } Loading @@ -77,7 +77,7 @@ static int remote_read(apacket *p, atransport *t) return -1; } if(check_data(p)) { if (!check_data(p)) { D("bad data: terminated (data)"); return -1; } Loading adb/transport_usb.cpp +5 −5 Original line number Diff line number Diff line Loading @@ -72,7 +72,7 @@ static int remote_read(apacket* p, atransport* t) { D("remote usb: read terminated (message)"); return -1; } if (static_cast<size_t>(n) != sizeof(p->msg) || check_header(p, t)) { if (static_cast<size_t>(n) != sizeof(p->msg) || !check_header(p, t)) { D("remote usb: check_header failed, skip it"); goto err_msg; } Loading @@ -95,7 +95,7 @@ static int remote_read(apacket* p, atransport* t) { goto err_msg; } } if (check_data(p)) { if (!check_data(p)) { D("remote usb: check_data failed, skip it"); goto err_msg; } Loading Loading @@ -124,7 +124,7 @@ static int remote_read(apacket *p, atransport *t) return -1; } if(check_header(p, t)) { if (!check_header(p, t)) { D("remote usb: check_header failed"); return -1; } Loading @@ -136,7 +136,7 @@ static int remote_read(apacket *p, atransport *t) } } if(check_data(p)) { if (!check_data(p)) { D("remote usb: check_data failed"); return -1; } Loading Loading
adb/transport.cpp +6 −9 Original line number Diff line number Diff line Loading @@ -1050,27 +1050,24 @@ void unregister_usb_transport(usb_handle* usb) { [usb](atransport* t) { return t->usb == usb && t->GetConnectionState() == kCsNoPerm; }); } int check_header(apacket* p, atransport* t) { bool check_header(apacket* p, atransport* t) { if (p->msg.magic != (p->msg.command ^ 0xffffffff)) { VLOG(RWX) << "check_header(): invalid magic command = " << std::hex << p->msg.command << ", magic = " << p->msg.magic; return -1; return false; } if (p->msg.data_length > t->get_max_payload()) { VLOG(RWX) << "check_header(): " << p->msg.data_length << " atransport::max_payload = " << t->get_max_payload(); return -1; return false; } return 0; return true; } int check_data(apacket* p) { if (calculate_apacket_checksum(p) != p->msg.data_check) { return -1; } return 0; bool check_data(apacket* p) { return calculate_apacket_checksum(p) == p->msg.data_check; } #if ADB_HOST Loading
adb/transport.h +2 −2 Original line number Diff line number Diff line Loading @@ -221,8 +221,8 @@ int register_socket_transport(int s, const char* serial, int port, int local); // This should only be used for transports with connection_state == kCsNoPerm. void unregister_usb_transport(usb_handle* usb); int check_header(apacket* p, atransport* t); int check_data(apacket* p); bool check_header(apacket* p, atransport* t); bool check_data(apacket* p); void close_usb_devices(); void close_usb_devices(std::function<bool(const atransport*)> predicate); Loading
adb/transport_local.cpp +4 −4 Original line number Diff line number Diff line Loading @@ -67,7 +67,7 @@ static int remote_read(apacket *p, atransport *t) return -1; } if(check_header(p, t)) { if (!check_header(p, t)) { D("bad header: terminated (data)"); return -1; } Loading @@ -77,7 +77,7 @@ static int remote_read(apacket *p, atransport *t) return -1; } if(check_data(p)) { if (!check_data(p)) { D("bad data: terminated (data)"); return -1; } Loading
adb/transport_usb.cpp +5 −5 Original line number Diff line number Diff line Loading @@ -72,7 +72,7 @@ static int remote_read(apacket* p, atransport* t) { D("remote usb: read terminated (message)"); return -1; } if (static_cast<size_t>(n) != sizeof(p->msg) || check_header(p, t)) { if (static_cast<size_t>(n) != sizeof(p->msg) || !check_header(p, t)) { D("remote usb: check_header failed, skip it"); goto err_msg; } Loading @@ -95,7 +95,7 @@ static int remote_read(apacket* p, atransport* t) { goto err_msg; } } if (check_data(p)) { if (!check_data(p)) { D("remote usb: check_data failed, skip it"); goto err_msg; } Loading Loading @@ -124,7 +124,7 @@ static int remote_read(apacket *p, atransport *t) return -1; } if(check_header(p, t)) { if (!check_header(p, t)) { D("remote usb: check_header failed"); return -1; } Loading @@ -136,7 +136,7 @@ static int remote_read(apacket *p, atransport *t) } } if(check_data(p)) { if (!check_data(p)) { D("remote usb: check_data failed"); return -1; } Loading