diff --git a/src/cmdu.c b/src/cmdu.c
index d7da156a788f0423c5d5db37ca79309cd5d8053d..a3103eff04990114c1139978ef18d544a91c3014 100644
--- a/src/cmdu.c
+++ b/src/cmdu.c
@@ -250,7 +250,7 @@ struct cmdu_buff *cmdu_alloc(int size)
 	n->head -= 18;
 	INIT_LIST_HEAD(&n->fraglist);
 
-	return n;
+	return (struct cmdu_buff *)p;
 }
 
 struct cmdu_buff *cmdu_alloc_frame(int size)