serial: fix crash when sending some commands to a closed port (lp:963102)
If the command we're sending doesn't have a callback, don't try
to call NULL. Triggered if the port got closed (because the modem
crashed, or refcounting errors or whatever) with some code like this:
mm_at_serial_port_queue_command (MM_AT_SERIAL_PORT (port), "+CREG=0", 3, NULL, NULL);
This commit is contained in:
@@ -1102,7 +1102,8 @@ internal_queue_command (MMSerialPort *self,
|
||||
GError *error = g_error_new_literal (MM_SERIAL_ERROR,
|
||||
MM_SERIAL_ERROR_SEND_FAILED,
|
||||
"Sending command failed: device is not enabled");
|
||||
callback (self, NULL, error, user_data);
|
||||
if (callback)
|
||||
callback (self, NULL, error, user_data);
|
||||
g_error_free (error);
|
||||
return;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user