summaryrefslogtreecommitdiff
path: root/testing
diff options
context:
space:
mode:
authorcrypto-universe <ykp@protonmail.ch>2018-08-16 00:09:46 +0200
committeriphydf <iphydf@users.noreply.github.com>2018-08-15 22:50:24 +0000
commit3036cc1f23cef20885db3652972c102e7405d178 (patch)
tree7fe3c770d5eba862da07086f713828e01359e1f5 /testing
parent475f01bc1aaffc2a6b0a04909dc1b81d38573d04 (diff)
Fix possible resource leaks in test
Diffstat (limited to 'testing')
-rw-r--r--testing/Messenger_test.c18
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 }