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

Commit fe98e8d6 authored by Christopher Wiley's avatar Christopher Wiley Committed by Gerrit Code Review
Browse files

Merge "Fix bug in byte vector serialization"

parents 670508d0 f0fc52b5
Loading
Loading
Loading
Loading
+20 −22
Original line number Diff line number Diff line
@@ -719,25 +719,25 @@ restart_write:

status_t Parcel::writeByteVector(const std::vector<int8_t>& val)
{
    status_t status;
    if (val.size() > std::numeric_limits<int32_t>::max()) {
        return BAD_VALUE;
        status = BAD_VALUE;
        return status;
    }

    status_t status = writeInt32(val.size());

    status = writeInt32(val.size());
    if (status != OK) {
        return status;
    }

    for (const auto& item : val) {
        status = writeByte(item);

        if (status != OK) {
    void* data = writeInplace(val.size());
    if (!data) {
        status = BAD_VALUE;
        return status;
    }
    }

    return OK;
    memcpy(data, val.data(), val.size());
    return status;
}

status_t Parcel::writeInt32Vector(const std::vector<int32_t>& val)
@@ -1343,21 +1343,19 @@ status_t Parcel::readByteVector(std::vector<int8_t>* val) const {
        return status;
    }

    if (size < 0) {
        return BAD_VALUE;
    }

    val->resize(size);

    for (auto& v : *val) {
        status = readByte(&v);

        if (status != OK) {
    if (size < 0 || size_t(size) > dataAvail()) {
        status = BAD_VALUE;
        return status;
    }
    const void* data = readInplace(size);
    if (!data) {
        status = BAD_VALUE;
        return status;
    }
    val->resize(size);
    memcpy(val->data(), data, size);

    return OK;
    return status;
}

status_t Parcel::readInt32Vector(std::vector<int32_t>* val) const {