diff --git a/src/sftp/sftp_pkt.c b/src/sftp/sftp_pkt.c
index 960a019305b9e80950da785ed3e6566f73aa0f92..6890633f9dd83a766aed63814432aa867a4fa2c8 100644
--- a/src/sftp/sftp_pkt.c
+++ b/src/sftp/sftp_pkt.c
@@ -283,12 +283,12 @@ sftp_tx_pkt_reset(sftp_tx_pkt_t *pktp)
 	return true;
 }
 
-#define APPEND_FUNC_BODY(var)                            \
-	if (!grow_tx(pktp, sizeof(var)))                  \
-		return false;                              \
-	sftp_tx_pkt_t pkt = *pktp;                          \
-	memcpy(&(&pkt->type)[pkt->used], &var, sizeof(var)); \
-	pkt->used += sizeof(var);                             \
+#define APPEND_FUNC_BODY(var)                                     \
+	if (!grow_tx(pktp, sizeof(var)))                           \
+		return false;                                       \
+	sftp_tx_pkt_t pkt = *pktp;                                   \
+	memcpy((void*)(&(&pkt->type)[pkt->used]), &var, sizeof(var)); \
+	pkt->used += sizeof(var);                                      \
 	return true
 
 bool