* [PATCH] obexd: Fix transfer has been free in transfer_abort_response
@ 2022-06-14 13:15 wangyouwan
2022-06-14 13:21 ` Paul Menzel
2022-06-14 14:34 ` bluez.test.bot
0 siblings, 2 replies; 3+ messages in thread
From: wangyouwan @ 2022-06-14 13:15 UTC (permalink / raw)
To: linux-bluetooth; +Cc: wangyouwan
Breakpoint 7, transfer_new (obex=0x5555555f5b50, opcode=2 '\002',
complete_func=0x555555590c40 <xfer_complete>, user_data=0x5555555f7000)
at gobex/gobex-transfer.c:254
254 gobex/gobex-transfer.c:
(gdb) c
Continuing.
Breakpoint 3, transfer_complete (transfer=0x5555555f5f40,
err=0x5555555f6d60) at gobex/gobex-transfer.c:99
99 in gobex/gobex-transfer.c
(gdb) c
Continuing.
Breakpoint 4, xfer_complete (obex=0x5555555f5b50, err=0x5555555f6d60,
user_data=0x5555555f7000)
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
$17 = (transfer_callback_t) 0x5555555885e0 <transfer_complete>
(gdb) c
Continuing.
Breakpoint 3, transfer_complete (transfer=0x5555555f7000, err=0x5555555f6d60,
user_data=0x5555555f48d0) at obexd/client/session.c:964
964 obexd/client/session.c:
(gdb) c
Continuing.
Breakpoint 5, transfer_free (transfer=0x5555555f5f40) at
gobex/gobex-transfer.c:61
61 gobex/gobex-transfer.c:
(gdb) n
63 in gobex/gobex-transfer.c
(gdb) p transfer->id
$18 = 1
(gdb) c
Continuing.
Breakpoint 2, transfer_abort_response (obex=0x5555555f5b50, err=0x0,
rsp=0x5555555f0810, user_data=0x5555555f5f40) at gobex/gobex-transfer.c:116
116 in gobex/gobex-transfer.c
(gdb) n
118 in gobex/gobex-transfer.c
(gdb) p transfer->id
$19 = 1432314080
(gdb) c
Continuing.
Breakpoint 3, transfer_complete (transfer=0x5555555f5f40, err=0x5555555f6f00)
at gobex/gobex-transfer.c:99
99 in gobex/gobex-transfer.c
(gdb) c
Continuing.
Breakpoint 4, xfer_complete (obex=0x5555555f5b50, err=0x5555555f6f00,
user_data=0x5555555f7000)
at obexd/client/transfer.c:659
659 obexd/client/transfer.c:
(gdb) n
661 in obexd/client/transfer.c
(gdb) p callback->func
$20 = (transfer_callback_t) 0x5555555f6420
(gdb) n
663 in obexd/client/transfer.c
(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
679 in obexd/client/transfer.c
(gdb) n
680 in obexd/client/transfer.c
(gdb) n
0x00005555555f6420 in ?? ()
(gdb) n
Cannot find bounds of current function
(gdb) c
Continuing.
Program received signal SIGSEGV, Segmentation fault.
0x00005555555f6420 in ?? ()
(gdb)
---
gobex/gobex-transfer.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/gobex/gobex-transfer.c b/gobex/gobex-transfer.c
index c94d018b2..48b1f6962 100644
--- a/gobex/gobex-transfer.c
+++ b/gobex/gobex-transfer.c
@@ -92,7 +92,9 @@ static void transfer_complete(struct transfer *transfer, GError *err)
g_obex_drop_tx_queue(transfer->obex);
}
- transfer->complete_func(transfer->obex, err, transfer->user_data);
+ if (find_transfer(id) != NULL)
+ transfer->complete_func(transfer->obex, err, transfer->user_data);
+
/* Check if the complete_func removed the transfer */
if (find_transfer(id) == NULL)
return;
--
2.20.1
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH] obexd: Fix transfer has been free in transfer_abort_response
2022-06-14 13:15 [PATCH] obexd: Fix transfer has been free in transfer_abort_response wangyouwan
@ 2022-06-14 13:21 ` Paul Menzel
2022-06-14 14:34 ` bluez.test.bot
1 sibling, 0 replies; 3+ messages in thread
From: Paul Menzel @ 2022-06-14 13:21 UTC (permalink / raw)
To: wangyouwan; +Cc: linux-bluetooth
Dear Wang,
Thank you for your patch.
Am 14.06.22 um 15:15 schrieb wangyouwan:
Can you please configure your full name in git?
git config --global user.name "Wang …"
> Breakpoint 7, transfer_new (obex=0x5555555f5b50, opcode=2 '\002',
> complete_func=0x555555590c40 <xfer_complete>, user_data=0x5555555f7000)
> at gobex/gobex-transfer.c:254
> 254 gobex/gobex-transfer.c:
> (gdb) c
> Continuing.
[…]
In addition to the GDB traces, can you please add a sentence, what is
going on, and how to reproduce (test setup) that the transfer
(`find_transfer(id)`) is NULL?
[…]
> ---
> gobex/gobex-transfer.c | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/gobex/gobex-transfer.c b/gobex/gobex-transfer.c
> index c94d018b2..48b1f6962 100644
> --- a/gobex/gobex-transfer.c
> +++ b/gobex/gobex-transfer.c
> @@ -92,7 +92,9 @@ static void transfer_complete(struct transfer *transfer, GError *err)
> g_obex_drop_tx_queue(transfer->obex);
> }
>
> - transfer->complete_func(transfer->obex, err, transfer->user_data);
> + if (find_transfer(id) != NULL)
> + transfer->complete_func(transfer->obex, err, transfer->user_data);
> +
> /* Check if the complete_func removed the transfer */
> if (find_transfer(id) == NULL)
> return;
Kind regards,
Paul
^ permalink raw reply [flat|nested] 3+ messages in thread
* RE: obexd: Fix transfer has been free in transfer_abort_response
2022-06-14 13:15 [PATCH] obexd: Fix transfer has been free in transfer_abort_response wangyouwan
2022-06-14 13:21 ` Paul Menzel
@ 2022-06-14 14:34 ` bluez.test.bot
1 sibling, 0 replies; 3+ messages in thread
From: bluez.test.bot @ 2022-06-14 14:34 UTC (permalink / raw)
To: linux-bluetooth, wangyouwan
[-- Attachment #1: Type: text/plain, Size: 2139 bytes --]
This is automated email and please do not reply to this email!
Dear submitter,
Thank you for submitting the patches to the linux bluetooth mailing list.
This is a CI test results with your patch series:
PW Link:https://patchwork.kernel.org/project/bluetooth/list/?series=650234
---Test result---
Test Summary:
CheckPatch FAIL 1.56 seconds
GitLint PASS 0.99 seconds
Prep - Setup ELL PASS 43.03 seconds
Build - Prep PASS 0.68 seconds
Build - Configure PASS 8.50 seconds
Build - Make PASS 1283.86 seconds
Make Check PASS 10.99 seconds
Make Check w/Valgrind PASS 442.66 seconds
Make Distcheck PASS 231.34 seconds
Build w/ext ELL - Configure PASS 8.35 seconds
Build w/ext ELL - Make PASS 1210.16 seconds
Incremental Build with patchesPASS 0.00 seconds
Details
##############################
Test: CheckPatch - FAIL
Desc: Run checkpatch.pl script with rule in .checkpatch.conf
Output:
obexd: Fix transfer has been free in transfer_abort_response
WARNING:COMMIT_LOG_LONG_LINE: Possible unwrapped commit description (prefer a maximum 75 chars per line)
#80:
Breakpoint 3, transfer_complete (transfer=0x5555555f7000, err=0x5555555f6d60,
WARNING:LONG_LINE: line length of 82 exceeds 80 columns
#158: FILE: gobex/gobex-transfer.c:96:
+ transfer->complete_func(transfer->obex, err, transfer->user_data);
/github/workspace/src/12881169.patch total: 0 errors, 2 warnings, 10 lines checked
NOTE: For some of the reported defects, checkpatch may be able to
mechanically convert to the typical style using --fix or --fix-inplace.
/github/workspace/src/12881169.patch has style problems, please review.
NOTE: Ignored message types: COMMIT_MESSAGE COMPLEX_MACRO CONST_STRUCT FILE_PATH_CHANGES MISSING_SIGN_OFF PREFER_PACKED SPDX_LICENSE_TAG SPLIT_STRING SSCANF_TO_KSTRTO
NOTE: If any of the errors are false positives, please report
them to the maintainer, see CHECKPATCH in MAINTAINERS.
---
Regards,
Linux Bluetooth
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2022-06-14 14:34 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-06-14 13:15 [PATCH] obexd: Fix transfer has been free in transfer_abort_response wangyouwan
2022-06-14 13:21 ` Paul Menzel
2022-06-14 14:34 ` bluez.test.bot
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).