]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
mailbox: fix invalid use of sizeof in mailbox_msg_send()
authorWei Yongjun <yongjun_wei@trendmicro.com.cn>
Sat, 23 Mar 2013 07:04:14 +0000 (15:04 +0800)
committerSuman Anna <s-anna@ti.com>
Tue, 26 Mar 2013 01:31:35 +0000 (20:31 -0500)
sizeof() when applied to a pointer typed expression gives the
size of the pointer, not that of the pointed data.

Signed-off-by: Wei Yongjun <yongjun_wei@trendmicro.com.cn>
Signed-off-by: Suman Anna <s-anna@ti.com>
drivers/mailbox/mailbox.c

index 5fea5c276a615815fe8e03fe61643cf5b01eee67..78e52c064270321a269c0714ba4f6207b628e2dc 100644 (file)
@@ -83,7 +83,7 @@ int mailbox_msg_send(struct mailbox *mbox, struct mailbox_msg *msg)
 
        mutex_lock(&mq->mlock);
 
-       if (kfifo_avail(&mq->fifo) < (sizeof(msg) + msg->size)) {
+       if (kfifo_avail(&mq->fifo) < (sizeof(*msg) + msg->size)) {
                ret = -ENOMEM;
                goto out;
        }
@@ -93,8 +93,8 @@ int mailbox_msg_send(struct mailbox *mbox, struct mailbox_msg *msg)
                goto out;
        }
 
-       len = kfifo_in(&mq->fifo, (unsigned char *)msg, sizeof(msg));
-       WARN_ON(len != sizeof(msg));
+       len = kfifo_in(&mq->fifo, (unsigned char *)msg, sizeof(*msg));
+       WARN_ON(len != sizeof(*msg));
 
        if (msg->size && msg->pdata) {
                len = kfifo_in(&mq->fifo, (unsigned char *)msg->pdata,