diff options
author | Ben Chan <benchan@chromium.org> | 2014-01-08 10:13:16 -0800 |
---|---|---|
committer | Aleksander Morgado <aleksander@aleksander.es> | 2014-01-09 13:10:07 +0100 |
commit | fd1a1839ae1bcade2f9d422f6bc0d6e6040295e6 (patch) | |
tree | 2727990afc16401770176c5ad8efdd4b760ed74f /cli/mmcli.c | |
parent | 910a55a0f2373a3469e7d0f3fe6dc5b0e8440e9f (diff) |
serial-port: fail open/reopen after a serial port has been forced close
After a MMSerialPort object is forced close, it may be opened again if some
other object still holds a reference to it. When the MMSerialPort object is
eventually disposed, mm_serial_port_close_force is invoked on the object but
does nothing as 'priv->forced_close' is already set to TRUE. 'priv->watch_id'
is still active, which could potentially lead to a crash if data_available is
called after the MMSerialPort object is finalized. This patch prevents such a
scenario by failing mm_serial_port_open / mm_serial_port_reopen after the
MMSerialPort has been forced close.
Diffstat (limited to 'cli/mmcli.c')
0 files changed, 0 insertions, 0 deletions