Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 36dadca9 authored by Josh Gao's avatar Josh Gao
Browse files

adb: boolify check_header and check_data.

Test: grep
Change-Id: I8d0c60e500bba855a1afc0877253262246c07fef
parent 16c5a133
Loading
Loading
Loading
Loading
+6 −9
Original line number Diff line number Diff line
@@ -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
+2 −2
Original line number Diff line number Diff line
@@ -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);
+4 −4
Original line number Diff line number Diff line
@@ -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;
    }
@@ -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;
    }
+5 −5
Original line number Diff line number Diff line
@@ -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;
    }
@@ -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;
    }
@@ -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;
    }
@@ -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;
    }