summaryrefslogtreecommitdiff
path: root/toxcore
diff options
context:
space:
mode:
authorirungentoo <irungentoo@gmail.com>2014-04-19 16:52:29 -0400
committerirungentoo <irungentoo@gmail.com>2014-04-19 16:52:29 -0400
commit8815956f0a77e0caf506cd730e6ae18d5091b782 (patch)
tree4419899088899b3bcd2f5bd11085617ae69d91f9 /toxcore
parent235ce5685559e2cd64de96d0d2ac1aeafe86aeb5 (diff)
Small cleanups.
Diffstat (limited to 'toxcore')
-rw-r--r--toxcore/friend_requests.c16
1 files changed, 7 insertions, 9 deletions
diff --git a/toxcore/friend_requests.c b/toxcore/friend_requests.c
index e879d64c..82e51a76 100644
--- a/toxcore/friend_requests.c
+++ b/toxcore/friend_requests.c
@@ -135,20 +135,17 @@ int remove_request_received(Friend_Requests *fr, uint8_t *client_id)
135 135
136static int friendreq_handlepacket(void *object, uint8_t *source_pubkey, uint8_t *packet, uint32_t length) 136static int friendreq_handlepacket(void *object, uint8_t *source_pubkey, uint8_t *packet, uint32_t length)
137{ 137{
138 if (length == 0) 138 Friend_Requests *fr = object;
139
140 if (length <= 1 + sizeof(fr->nospam))
139 return 1; 141 return 1;
140 142
141 ++packet; 143 ++packet;
142 --length; 144 --length;
143 145
144 Friend_Requests *fr = object;
145
146 if (fr->handle_friendrequest_isset == 0) 146 if (fr->handle_friendrequest_isset == 0)
147 return 1; 147 return 1;
148 148
149 if (length <= sizeof(fr->nospam))
150 return 1;
151
152 if (request_received(fr, source_pubkey)) 149 if (request_received(fr, source_pubkey))
153 return 1; 150 return 1;
154 151
@@ -161,11 +158,12 @@ static int friendreq_handlepacket(void *object, uint8_t *source_pubkey, uint8_t
161 158
162 addto_receivedlist(fr, source_pubkey); 159 addto_receivedlist(fr, source_pubkey);
163 160
164 uint8_t message[length - 4 + 1]; 161 uint32_t message_len = length - sizeof(fr->nospam);
165 memcpy(message, packet + 4, length - 4); 162 uint8_t message[message_len + 1];
163 memcpy(message, packet + sizeof(fr->nospam), message_len);
166 message[sizeof(message) - 1] = 0; /* Be sure the message is null terminated. */ 164 message[sizeof(message) - 1] = 0; /* Be sure the message is null terminated. */
167 165
168 (*fr->handle_friendrequest)(fr->handle_friendrequest_object, source_pubkey, message, length - 4, 166 (*fr->handle_friendrequest)(fr->handle_friendrequest_object, source_pubkey, message, message_len,
169 fr->handle_friendrequest_userdata); 167 fr->handle_friendrequest_userdata);
170 return 0; 168 return 0;
171} 169}