diff options
author | crypto-universe <ykp@protonmail.ch> | 2018-08-16 00:09:46 +0200 |
---|---|---|
committer | iphydf <iphydf@users.noreply.github.com> | 2018-08-15 22:50:24 +0000 |
commit | 3036cc1f23cef20885db3652972c102e7405d178 (patch) | |
tree | 7fe3c770d5eba862da07086f713828e01359e1f5 /testing | |
parent | 475f01bc1aaffc2a6b0a04909dc1b81d38573d04 (diff) |
Fix possible resource leaks in test
Diffstat (limited to 'testing')
-rw-r--r-- | testing/Messenger_test.c | 18 |
1 files changed, 15 insertions, 3 deletions
diff --git a/testing/Messenger_test.c b/testing/Messenger_test.c index 4c140da9..c02681f8 100644 --- a/testing/Messenger_test.c +++ b/testing/Messenger_test.c | |||
@@ -171,31 +171,43 @@ int main(int argc, char *argv[]) | |||
171 | } | 171 | } |
172 | 172 | ||
173 | uint8_t *bin_id = hex_string_to_bin(temp_hex_id); | 173 | uint8_t *bin_id = hex_string_to_bin(temp_hex_id); |
174 | int num = m_addfriend(m, bin_id, (const uint8_t *)"Install Gentoo", sizeof("Install Gentoo")); | 174 | const int num = m_addfriend(m, bin_id, (const uint8_t *)"Install Gentoo", sizeof("Install Gentoo")); |
175 | free(bin_id); | 175 | free(bin_id); |
176 | 176 | ||
177 | perror("Initialization"); | 177 | perror("Initialization"); |
178 | 178 | ||
179 | while (1) { | 179 | while (1) { |
180 | uint8_t name[128]; | 180 | uint8_t name[128]; |
181 | const char *const filename = "Save.bak"; | ||
181 | getname(m, num, name); | 182 | getname(m, num, name); |
182 | printf("%s\n", name); | 183 | printf("%s\n", name); |
183 | 184 | ||
184 | m_send_message_generic(m, num, MESSAGE_NORMAL, (const uint8_t *)"Test", 5, nullptr); | 185 | m_send_message_generic(m, num, MESSAGE_NORMAL, (const uint8_t *)"Test", 5, nullptr); |
185 | do_messenger(m, nullptr); | 186 | do_messenger(m, nullptr); |
186 | c_sleep(30); | 187 | c_sleep(30); |
187 | FILE *file = fopen("Save.bak", "wb"); | 188 | FILE *file = fopen(filename, "wb"); |
188 | 189 | ||
189 | if (file == nullptr) { | 190 | if (file == nullptr) { |
191 | printf("Failed to open file %s\n", filename); | ||
190 | kill_messenger(m); | 192 | kill_messenger(m); |
191 | return 1; | 193 | return 1; |
192 | } | 194 | } |
193 | 195 | ||
194 | uint8_t *buffer = (uint8_t *)malloc(messenger_size(m)); | 196 | uint8_t *buffer = (uint8_t *)malloc(messenger_size(m)); |
197 | |||
198 | if (buffer == nullptr) { | ||
199 | fputs("Failed to allocate memory\n", stderr); | ||
200 | fclose(file); | ||
201 | kill_messenger(m); | ||
202 | return 1; | ||
203 | } | ||
204 | |||
195 | messenger_save(m, buffer); | 205 | messenger_save(m, buffer); |
196 | size_t write_result = fwrite(buffer, 1, messenger_size(m), file); | 206 | const size_t write_result = fwrite(buffer, 1, messenger_size(m), file); |
197 | 207 | ||
198 | if (write_result < messenger_size(m)) { | 208 | if (write_result < messenger_size(m)) { |
209 | free(buffer); | ||
210 | fclose(file); | ||
199 | kill_messenger(m); | 211 | kill_messenger(m); |
200 | return 1; | 212 | return 1; |
201 | } | 213 | } |