diff options
author | Aylur <[email protected]> | 2024-10-14 11:40:09 +0200 |
---|---|---|
committer | GitHub <[email protected]> | 2024-10-14 11:40:09 +0200 |
commit | bdb23e20f171da7c769cba9e393d7e406e563a78 (patch) | |
tree | 93a217d0eba41c59cbd6e89de1504d4a831f0a6b | |
parent | 7adf558f7666c92424af1cd825653f9b0ba406fe (diff) | |
parent | f8745db77f62c743496a6b22211a4ac1ca7c86e3 (diff) |
Merge pull request #44 from 0x6e6174/main
check that conn is not null in Hyprland.write_socket() prior to setting output values
-rw-r--r-- | lib/hyprland/hyprland.vala | 42 |
1 files changed, 21 insertions, 21 deletions
diff --git a/lib/hyprland/hyprland.vala b/lib/hyprland/hyprland.vala index 3886486..ea95cab 100644 --- a/lib/hyprland/hyprland.vala +++ b/lib/hyprland/hyprland.vala @@ -158,43 +158,43 @@ public class Hyprland : Object { out DataInputStream stream ) throws Error { conn = connection("socket"); - conn.output_stream.write(message.data, null); - stream = new DataInputStream(conn.input_stream); + if (conn != null) { + conn.output_stream.write(message.data, null); + stream = new DataInputStream(conn.input_stream); + } else { + stream = null; + critical("could not write to the Hyprland socket"); + } } public string message(string message) { - SocketConnection conn; - DataInputStream stream; + SocketConnection? conn; + DataInputStream? stream; try { write_socket(message, out conn, out stream); - return stream.read_upto("\x04", -1, null, null); + if (stream != null && conn != null) { + var res = stream.read_upto("\x04", -1, null, null); + conn.close(null); + return res; + } } catch (Error err) { critical(err.message); - } finally { - try { - if (conn != null) - conn.close(null); - } catch (Error err) { - critical(err.message); - } } return ""; } public async string message_async(string message) { - SocketConnection conn; - DataInputStream stream; + SocketConnection? conn; + DataInputStream? stream; try { write_socket(message, out conn, out stream); - return yield stream.read_upto_async("\x04", -1, Priority.DEFAULT, null, null); - } catch (Error err) { - critical(err.message); - } finally { - try { + if (stream != null && conn != null) { + var res = yield stream.read_upto_async("\x04", -1, Priority.DEFAULT, null, null); conn.close(null); - } catch (Error err) { - critical(err.message); + return res; } + } catch (Error err) { + critical(err.message); } return ""; } |