summaryrefslogtreecommitdiff
path: root/obexd
diff options
context:
space:
mode:
authorwangyouwan <wangyouwan@uniontech.com>2022-06-13 19:37:13 +0800
committerLuiz Augusto von Dentz <luiz.von.dentz@intel.com>2022-06-13 11:03:48 -0700
commitc6d3bcf3d005ad9c9f8a85a68c88aa7f231d9a60 (patch)
treee08208c9bbc67fc4103c0ad67fd3f58c1c99254a /obexd
parent91a48af52efb0751fab396b2b9026c9186b10b88 (diff)
downloadbluez-c6d3bcf3d005ad9c9f8a85a68c88aa7f231d9a60.tar.gz
obexd: Fix callback->func =! NULL in the xfer_complete() func
xfer_complete (obex=0x557d242c8cf0, err=0x557d242ca470, user_data=0x557d242ca300) at obexd/client/transfer.c:659 659 obexd/client/transfer.c: (gdb) n 661 in obexd/client/transfer.c (gdb) n 663 in obexd/client/transfer.c (gdb) p callback->func $1 = (transfer_callback_t) 0x0 (gdb) n 668 in obexd/client/transfer.c (gdb) n 671 in obexd/client/transfer.c (gdb) n 672 in obexd/client/transfer.c (gdb) n 676 in obexd/client/transfer.c (gdb) n 677 in obexd/client/transfer.c (gdb) n 0x0000000000000000 in ?? () (gdb) s Cannot find bounds of current function (gdb) c Continuing. Program received signal SIGSEGV, Segmentation fault.
Diffstat (limited to 'obexd')
-rw-r--r--obexd/client/transfer.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/obexd/client/transfer.c b/obexd/client/transfer.c
index dccce03b4..a7a85a0c0 100644
--- a/obexd/client/transfer.c
+++ b/obexd/client/transfer.c
@@ -666,7 +666,10 @@ static void xfer_complete(GObex *obex, GError *err, gpointer user_data)
else
transfer_set_status(transfer, TRANSFER_STATUS_COMPLETE);
- if (callback)
+ if (callback == NULL)
+ return;
+
+ if (callback->func)
callback->func(transfer, err, callback->data);
}