From: Bastien Nocera <hadess@hadess.net>
To: Luiz Augusto von Dentz <luiz.dentz@gmail.com>
Cc: linux-bluetooth@vger.kernel.org
Subject: Re: Broken SDP parsing?
Date: Mon, 09 Mar 2009 17:09:39 +0000 [thread overview]
Message-ID: <1236618579.32264.23.camel@cookie.hadess.net> (raw)
In-Reply-To: <2d5a2c100903090940m4aa3b7bbj5c0528ea1b175d5e@mail.gmail.com>
[-- Attachment #1: Type: text/plain, Size: 812 bytes --]
On Mon, 2009-03-09 at 13:40 -0300, Luiz Augusto von Dentz wrote:
> Hi Bastien,
>
> On Mon, Mar 9, 2009 at 12:25 PM, Bastien Nocera <hadess@hadess.net> wrote:
> > On Mon, 2009-03-09 at 11:32 -0300, Luiz Augusto von Dentz wrote:
> > Problem was sdp_data_alloc() falling back to doing an strlen() on the
> > string, instead of taking its existing length into account. That would
> > break any strings with NULLs embedded.
> >
> > The attached patch fixes this. I'm not certain that making this public
> > is useful, but feel free to make it so if you feel it's needed.
> >
> > Cheers
> >
>
> Sounds good to me, I will check with Marcel or Johan if they can get
> this changes upstream.
Apparently � isn't an allowed character in XML, so the attached
patch just swaps it out for a space. Much easier.
Cheers
[-- Attachment #2: bluez-sdp-xml-with-nulls-2.patch --]
[-- Type: text/x-patch, Size: 748 bytes --]
diff --git a/common/sdp-xml.c b/common/sdp-xml.c
index 0403dcd..c3d3934 100644
--- a/common/sdp-xml.c
+++ b/common/sdp-xml.c
@@ -239,9 +239,7 @@ static void convert_raw_data_to_xml(sdp_data_t *value, int indent_level,
hex = 0;
for (i = 0; i < length; i++) {
- if (value->val.str[i] == '\0')
- break;
- if (!isprint(value->val.str[i])) {
+ if (!isprint(value->val.str[i]) && value->val.str[i] != '\0') {
hex = 1;
break;
}
@@ -304,7 +302,9 @@ static void convert_raw_data_to_xml(sdp_data_t *value, int indent_level,
strBuf[j++] = 'o';
strBuf[j++] = 't';
}
- else {
+ else if (value->val.str[i] == '\0') {
+ strBuf[j++] = ' ';
+ } else {
strBuf[j++] = value->val.str[i];
}
}
next prev parent reply other threads:[~2009-03-09 17:09 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-03-06 1:00 Broken SDP parsing? Bastien Nocera
2009-03-08 14:46 ` Bastien Nocera
2009-03-09 13:08 ` Luiz Augusto von Dentz
2009-03-09 14:14 ` Bastien Nocera
2009-03-09 14:32 ` Luiz Augusto von Dentz
2009-03-09 14:53 ` Luiz Augusto von Dentz
2009-03-09 15:25 ` Bastien Nocera
2009-03-09 16:40 ` Luiz Augusto von Dentz
2009-03-09 17:09 ` Bastien Nocera [this message]
2009-03-09 18:04 ` Johan Hedberg
2009-03-09 19:29 ` Port CUPS discovery to BlueZ 4.x (Re: Broken SDP parsing?) Bastien Nocera
2009-03-13 15:37 ` Broken SDP parsing? Bastien Nocera
2009-03-13 18:15 ` Johan Hedberg
2009-03-14 0:39 ` Bastien Nocera
2009-03-14 13:29 ` Johan Hedberg
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1236618579.32264.23.camel@cookie.hadess.net \
--to=hadess@hadess.net \
--cc=linux-bluetooth@vger.kernel.org \
--cc=luiz.dentz@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox