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

Commit ae07aadd authored by Android (Google) Code Review's avatar Android (Google) Code Review
Browse files

Merge change 20095

* changes:
  Fix network order for marshalling in keystore interface.
parents 983f1ea3 74c332f1
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -242,6 +242,7 @@ static int set_read_timeout(int socket)
{
    struct timeval tv;
    tv.tv_sec = READ_TIMEOUT;
    tv.tv_usec = 0;
    if (setsockopt(socket, SOL_SOCKET, SO_RCVTIMEO, (char *)&tv,  sizeof tv))
    {
        LOGE("setsockopt failed");
+7 −1
Original line number Diff line number Diff line
@@ -19,6 +19,7 @@
#define __NETKEYSTORE_H__

#include <stdio.h>
#include <arpa/inet.h>
#include <cutils/sockets.h>
#include <cutils/log.h>

@@ -68,6 +69,8 @@ static inline int read_marshal(int s, LPC_MARSHAL *cmd)
        LOGE("failed to read header\n");
        return -1;
    }
    cmd->len = ntohl(cmd->len);
    cmd->opcode = ntohl(cmd->opcode);
    if (cmd->len > BUFFER_MAX) {
        LOGE("invalid size %d\n", cmd->len);
        return -1;
@@ -82,11 +85,14 @@ static inline int read_marshal(int s, LPC_MARSHAL *cmd)

static inline int write_marshal(int s, LPC_MARSHAL *cmd)
{
    int len = cmd->len;
    cmd->len = htonl(cmd->len);
    cmd->opcode = htonl(cmd->opcode);
    if (writex(s, cmd, 2 * sizeof(uint32_t))) {
        LOGE("failed to write marshal header\n");
        return -1;
    }
    if (writex(s, cmd->data, cmd->len)) {
    if (writex(s, cmd->data, len)) {
        LOGE("failed to write marshal data\n");
        return -1;
    }