summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPetri Hintukainen <phintuka@users.sourceforge.net>2011-10-04 11:20:57 +0300
committerPetri Hintukainen <phintuka@users.sourceforge.net>2011-10-04 11:20:57 +0300
commit6bccdb3cd66f73336bb754baa045af1fefd5588b (patch)
tree0b7a35252a14eaa67d7baa54f875b59509f77460
parent0c0175429f974b607f085c56be152ed5c3c20251 (diff)
downloadxine-lib-6bccdb3cd66f73336bb754baa045af1fefd5588b.tar.gz
xine-lib-6bccdb3cd66f73336bb754baa045af1fefd5588b.tar.bz2
demux_ogg: check asprintf return value
-rw-r--r--src/demuxers/demux_ogg.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/demuxers/demux_ogg.c b/src/demuxers/demux_ogg.c
index 573baa593..14a8ac29a 100644
--- a/src/demuxers/demux_ogg.c
+++ b/src/demuxers/demux_ogg.c
@@ -468,9 +468,10 @@ static int read_comments (demux_ogg_t *this, const char *comment)
if (!strncasecmp (metadata[i].tag, comment, ml) && comment[ml]) {
if (metadata[i].append && this->meta[metadata[i].meta]) {
char *newstr;
- asprintf (&newstr, "%s\n%s", this->meta[metadata[i].meta], comment + ml);
- free (this->meta[metadata[i].meta]);
- this->meta[metadata[i].meta] = newstr;
+ if (asprintf (&newstr, "%s\n%s", this->meta[metadata[i].meta], comment + ml) >= 0) {
+ free (this->meta[metadata[i].meta]);
+ this->meta[metadata[i].meta] = newstr;
+ }
}
else {
free (this->meta[metadata[i].meta]);