aboutsummaryrefslogtreecommitdiffstats
path: root/common
diff options
context:
space:
mode:
authorLibravatar Eric Engestrom <eric@engestrom.ch>2016-05-02 15:48:20 +0100
committerLibravatar Eric Engestrom <eric@engestrom.ch>2016-05-02 15:58:32 +0100
commitf53ddbe800f269f36f5a69c3ec07523d319dc699 (patch)
treee7eaf9e7eefb93f116f19a94e0397ca0cedd2efc /common
parentMerge pull request #633 from 1ace/fix/readme-link (diff)
downloadsway-f53ddbe800f269f36f5a69c3ec07523d319dc699.tar.gz
sway-f53ddbe800f269f36f5a69c3ec07523d319dc699.tar.zst
sway-f53ddbe800f269f36f5a69c3ec07523d319dc699.zip
common: fix double-close in error_handler()
Diffstat (limited to 'common')
-rw-r--r--common/log.c4
1 files changed, 1 insertions, 3 deletions
diff --git a/common/log.c b/common/log.c
index c68f0516..c5c9f3a6 100644
--- a/common/log.c
+++ b/common/log.c
@@ -145,7 +145,6 @@ void error_handler(int sig) {
145 size_t bt_len; 145 size_t bt_len;
146 char maps_file[256]; 146 char maps_file[256];
147 char maps_buffer[1024]; 147 char maps_buffer[1024];
148 FILE *maps;
149 148
150 sway_log(L_ERROR, "Error: Signal %d. Printing backtrace", sig); 149 sway_log(L_ERROR, "Error: Signal %d. Printing backtrace", sig);
151 bt_len = backtrace(array, max_lines); 150 bt_len = backtrace(array, max_lines);
@@ -163,11 +162,10 @@ void error_handler(int sig) {
163 sway_log(L_ERROR, "Maps:"); 162 sway_log(L_ERROR, "Maps:");
164 pid_t pid = getpid(); 163 pid_t pid = getpid();
165 if (snprintf(maps_file, 255, "/proc/%zd/maps", (size_t)pid) < 255) { 164 if (snprintf(maps_file, 255, "/proc/%zd/maps", (size_t)pid) < 255) {
166 maps = fopen(maps_file, "r"); 165 FILE *maps = fopen(maps_file, "r");
167 while (!feof(maps)) { 166 while (!feof(maps)) {
168 char *m = read_line_buffer(maps, maps_buffer, 1024); 167 char *m = read_line_buffer(maps, maps_buffer, 1024);
169 if (!m) { 168 if (!m) {
170 fclose(maps);
171 sway_log(L_ERROR, "Unable to allocate memory to show maps"); 169 sway_log(L_ERROR, "Unable to allocate memory to show maps");
172 break; 170 break;
173 } 171 }