Invalid error code when using multipathd CLI
[multipath-tools/.git] / libmpathcmd / mpath_cmd.c
index 7fc9e98..1496b68 100644 (file)
@@ -142,6 +142,10 @@ int mpath_recv_reply(int fd, char **reply, unsigned int timeout)
        len = mpath_recv_reply_len(fd, timeout);
        if (len <= 0)
                return len;
+       if (len > MAX_REPLY_LEN) {
+               errno = EINVAL;
+               return -1;
+       }
        *reply = malloc(len);
        if (!*reply)
                return -1;
@@ -149,7 +153,7 @@ int mpath_recv_reply(int fd, char **reply, unsigned int timeout)
        if (err) {
                free(*reply);
                *reply = NULL;
-               return err;
+               return -1;
        }
        return 0;
 }