Closed Bug 791702 Opened 12 years ago Closed 12 years ago

WebRTC crash [@sipsdp_write_to_buf]

Categories

(Core :: WebRTC: Signaling, defect)

x86_64
macOS
defect
Not set
critical

Tracking

()

RESOLVED FIXED
mozilla19
Tracking Status
firefox16 --- unaffected
firefox17 --- unaffected
firefox18 + fixed
firefox-esr10 --- unaffected
firefox-esr17 --- unaffected

People

(Reporter: posidron, Assigned: ehugg)

References

Details

(Keywords: crash, sec-critical, testcase, Whiteboard: [WebRTC][asan][blocking-webrtc+][qa-][adv-main18-])

Attachments

(3 files)

Attached file callstack
changeset: 108232:d9c3bd6436a5
Attached file testcase
I am inclined to take out this whole block that does this realloc to save a few bytes of space. I don't think this kind of optimization is useful on our tagret platforms. However, I can't see how we got a WRITE error on the memcpy on line 463 when the buffer is being allocated two lines before. Anyone see the problem here?
Assignee: nobody → ethanhugg
No, I don't. Sometimes you see false positives with memcpy and valgrind b/c of the way memcpy is implemented. Though usually they are over-reads not over-writes. cdiehl: can you make this happen all the time? If so, maybe we replace the memcpy with a byte-by-byte copy and see if it still happens.
Yes, I can reproduce it every time.
Do you see something wrong in this code?
If it's repeatable, then it may also be interesting to see if a different error pops up if you remove the entire block in ccsip_sdp.c that starts with: if ((CCSIP_SDP_BUF_SIZE - sdp_len) > 64) {
Whiteboard: [WebRTC][asan] → [WebRTC][asan][blocking-webrtc+]
This chunk of code is removed in the patch to 798873 (not yet pushed). SDP string building has been changed.
Fixed by patch pushed from Bug 798873 - this code path removed now that SDP generation uses a flexible-length string.
Status: NEW → RESOLVED
Closed: 12 years ago
Resolution: --- → FIXED
Keywords: verifyme
Keywords: verifyme
Whiteboard: [WebRTC][asan][blocking-webrtc+] → [WebRTC][asan][blocking-webrtc+][qa-]
Ethan, I assume that we no longer need a crashtest given that the code path has been removed?
(In reply to Henrik Skupin (:whimboo) from comment #10) > Ethan, I assume that we no longer need a crashtest given that the code path > has been removed? Henrik, that is correct. We no longer re-size the SDP buffer because we're constructing it with a reallocating string in the patch to Bug 798873. We should focus our testing efforts on that bug.
Depends on: 798873
Flags: in-testsuite-
Target Milestone: --- → mozilla19
Bug 798873 has been fixed in 18, is this one also fixed through that?
Yes, this one is fixed through Bug 798873 which was just pushed up for 18.
Then let's mark it as such so it comes off the radar queries. ;-)
Whiteboard: [WebRTC][asan][blocking-webrtc+][qa-] → [WebRTC][asan][blocking-webrtc+][qa-][adv-main18-]
Group: core-security
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: