diff options
author | irungentoo <irungentoo@gmail.com> | 2014-04-19 16:52:29 -0400 |
---|---|---|
committer | irungentoo <irungentoo@gmail.com> | 2014-04-19 16:52:29 -0400 |
commit | 8815956f0a77e0caf506cd730e6ae18d5091b782 (patch) | |
tree | 4419899088899b3bcd2f5bd11085617ae69d91f9 /toxcore | |
parent | 235ce5685559e2cd64de96d0d2ac1aeafe86aeb5 (diff) |
Small cleanups.
Diffstat (limited to 'toxcore')
-rw-r--r-- | toxcore/friend_requests.c | 16 |
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 | ||
136 | static int friendreq_handlepacket(void *object, uint8_t *source_pubkey, uint8_t *packet, uint32_t length) | 136 | static 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 | } |