aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLibravatar Alexander 'z33ky' Hirsch <1zeeky@gmail.com>2015-08-20 02:24:47 +0200
committerLibravatar Alexander 'z33ky' Hirsch <1zeeky@gmail.com>2015-08-20 02:30:22 +0200
commitf85d0740a83c32f9ef4d7f73b3dd25cff3a6239a (patch)
tree9cbd38bb3ddad41ed436180acf6b8d6f7169bdde
parentMinor style fix (diff)
downloadsway-f85d0740a83c32f9ef4d7f73b3dd25cff3a6239a.tar.gz
sway-f85d0740a83c32f9ef4d7f73b3dd25cff3a6239a.tar.zst
sway-f85d0740a83c32f9ef4d7f73b3dd25cff3a6239a.zip
Fix potential memory leak
-rw-r--r--sway/readline.c12
1 files changed, 8 insertions, 4 deletions
diff --git a/sway/readline.c b/sway/readline.c
index dfdc3fe8..e75b183f 100644
--- a/sway/readline.c
+++ b/sway/readline.c
@@ -17,18 +17,22 @@ char *read_line(FILE *file) {
17 continue; 17 continue;
18 } 18 }
19 if (length == size) { 19 if (length == size) {
20 string = realloc(string, size *= 2); 20 char *new_string = realloc(string, size *= 2);
21 if (!string) { 21 if (!new_string) {
22 free(string);
22 return NULL; 23 return NULL;
23 } 24 }
25 string = new_string;
24 } 26 }
25 string[length++] = c; 27 string[length++] = c;
26 } 28 }
27 if (length + 1 == size) { 29 if (length + 1 == size) {
28 string = realloc(string, length + 1); 30 char *new_string = realloc(string, length + 1);
29 if (!string) { 31 if (!new_string) {
32 free(string);
30 return NULL; 33 return NULL;
31 } 34 }
35 string = new_string;
32 } 36 }
33 string[length] = '\0'; 37 string[length] = '\0';
34 return string; 38 return string;