diff options
author | Drew DeVault <sir@cmpwn.com> | 2016-12-15 17:08:56 -0500 |
---|---|---|
committer | Drew DeVault <sir@cmpwn.com> | 2016-12-15 19:01:40 -0500 |
commit | 4c6c65e70cbe1e6b4b409ba18b71b2a8fb251d83 (patch) | |
tree | a1c7455f1a81bea1d40427440c32461008b7a524 /sway/main.c | |
parent | 9ad1e6b40f9589a5ab8242dd3b2e514b70d97799 (diff) |
Handle malloc failures from read_line
Diffstat (limited to 'sway/main.c')
-rw-r--r-- | sway/main.c | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/sway/main.c b/sway/main.c index 157c61b3..d41eb292 100644 --- a/sway/main.c +++ b/sway/main.c @@ -53,7 +53,10 @@ void detect_proprietary() { return; } while (!feof(f)) { - char *line = read_line(f); + char *line; + if (!(line = read_line(f))) { + break; + } if (strstr(line, "nvidia")) { fprintf(stderr, "\x1B[1;31mWarning: Proprietary nvidia drivers do NOT support Wayland. Use nouveau.\x1B[0m\n"); fprintf(stderr, "\x1B[1;31mYes, they STILL don't work with the newly announced wayland \"support\".\x1B[0m\n"); @@ -118,7 +121,10 @@ static void log_distro() { if (f) { sway_log(L_INFO, "Contents of %s:", paths[i]); while (!feof(f)) { - char *line = read_line(f); + char *line; + if (!(line = read_line(f))) { + break; + } if (*line) { sway_log(L_INFO, "%s", line); } @@ -136,7 +142,10 @@ static void log_kernel() { return; } while (!feof(f)) { - char *line = read_line(f); + char *line; + if (!(line = read_line(f))) { + break; + } if (*line) { sway_log(L_INFO, "%s", line); } |