@@ -581,9 +581,11 @@ int m_copy_statusmessage(Messenger *m, int32_t friendnumber, uint8_t *buf, uint3
581
581
if (friend_not_valid (m , friendnumber ))
582
582
return -1 ;
583
583
584
- memset (buf , 0 , maxlen );
585
- memcpy (buf , m -> friendlist [friendnumber ].statusmessage , MIN (maxlen , m -> friendlist [friendnumber ].statusmessage_length ));
586
- return MIN (maxlen , m -> friendlist [friendnumber ].statusmessage_length );
584
+ int msglen = MIN (maxlen , m -> friendlist [friendnumber ].statusmessage_length );
585
+
586
+ memcpy (buf , m -> friendlist [friendnumber ].statusmessage , msglen );
587
+ memset (buf + msglen , 0 , maxlen - msglen );
588
+ return msglen ;
587
589
}
588
590
589
591
/* return the size of friendnumber's user status.
@@ -596,9 +598,10 @@ int m_get_self_statusmessage_size(Messenger *m)
596
598
597
599
int m_copy_self_statusmessage (Messenger * m , uint8_t * buf , uint32_t maxlen )
598
600
{
599
- memset (buf , 0 , maxlen );
600
- memcpy (buf , m -> statusmessage , MIN (maxlen , m -> statusmessage_length ));
601
- return MIN (maxlen , m -> statusmessage_length );
601
+ int msglen = MIN (maxlen , m -> statusmessage_length );
602
+ memcpy (buf , m -> statusmessage , msglen );
603
+ memset (buf + msglen , 0 , maxlen - msglen );
604
+ return msglen ;
602
605
}
603
606
604
607
uint8_t m_get_userstatus (Messenger * m , int32_t friendnumber )
@@ -2693,7 +2696,6 @@ void messenger_save(Messenger *m, uint8_t *data)
2693
2696
memset (relays , 0 , len );
2694
2697
copy_connected_tcp_relays (m -> net_crypto , relays , NUM_SAVED_TCP_RELAYS );
2695
2698
memcpy (data , relays , len );
2696
- data += len ;
2697
2699
}
2698
2700
2699
2701
static int messenger_load_state_callback (void * outer , const uint8_t * data , uint32_t length , uint16_t type )
0 commit comments