diff options
Diffstat (limited to 'multimedia/mplayer-share/patches')
-rw-r--r-- | multimedia/mplayer-share/patches/patch-ba | 13 | ||||
-rw-r--r-- | multimedia/mplayer-share/patches/patch-bb | 47 | ||||
-rw-r--r-- | multimedia/mplayer-share/patches/patch-bc | 12 | ||||
-rw-r--r-- | multimedia/mplayer-share/patches/patch-bd | 34 |
4 files changed, 106 insertions, 0 deletions
diff --git a/multimedia/mplayer-share/patches/patch-ba b/multimedia/mplayer-share/patches/patch-ba new file mode 100644 index 00000000000..ab42c8c442e --- /dev/null +++ b/multimedia/mplayer-share/patches/patch-ba @@ -0,0 +1,13 @@ +$NetBSD: patch-ba,v 1.6.2.1 2008/02/11 12:04:15 ghen Exp $ + +--- libmpdemux/demux_audio.c.orig 2007-10-07 21:49:33.000000000 +0200 ++++ libmpdemux/demux_audio.c +@@ -229,6 +229,8 @@ get_flac_metadata (demuxer_t* demuxer) + ptr += 4; + + comment = ptr; ++ if (&comment[length] < comments || &comment[length] >= &comments[blk_len]) ++ return; + c = comment[length]; + comment[length] = 0; + diff --git a/multimedia/mplayer-share/patches/patch-bb b/multimedia/mplayer-share/patches/patch-bb new file mode 100644 index 00000000000..853eb46946c --- /dev/null +++ b/multimedia/mplayer-share/patches/patch-bb @@ -0,0 +1,47 @@ +$NetBSD: patch-bb,v 1.6.2.1 2008/02/11 12:04:15 ghen Exp $ + +--- libmpdemux/demux_mov.c.orig 2007-10-07 21:49:33.000000000 +0200 ++++ libmpdemux/demux_mov.c +@@ -173,11 +173,12 @@ void mov_build_index(mov_track_t* trak,i + i=trak->chunkmap_size; + while(i>0){ + --i; +- for(j=trak->chunkmap[i].first;j<last;j++){ ++ j=FFMAX(trak->chunkmap[i].first, 0); ++ for(;j<last;j++){ + trak->chunks[j].desc=trak->chunkmap[i].sdid; + trak->chunks[j].size=trak->chunkmap[i].spc; + } +- last=trak->chunkmap[i].first; ++ last=FFMIN(trak->chunkmap[i].first, trak->chunks_size); + } + + #if 0 +@@ -235,6 +236,8 @@ void mov_build_index(mov_track_t* trak,i + s=0; + for(j=0;j<trak->durmap_size;j++){ + for(i=0;i<trak->durmap[j].num;i++){ ++ if (s >= trak->samples_size) ++ break; + trak->samples[s].pts=pts; + ++s; + pts+=trak->durmap[j].dur; +@@ -246,6 +249,8 @@ void mov_build_index(mov_track_t* trak,i + for(j=0;j<trak->chunks_size;j++){ + off_t pos=trak->chunks[j].pos; + for(i=0;i<trak->chunks[j].size;i++){ ++ if (s >= trak->samples_size) ++ break; + trak->samples[s].pos=pos; + mp_msg(MSGT_DEMUX, MSGL_DBG3, "Sample %5d: pts=%8d off=0x%08X size=%d\n",s, + trak->samples[s].pts, +@@ -1568,8 +1573,7 @@ static void lschunks(demuxer_t* demuxer, + if( udta_len>udta_size) + udta_len=udta_size; + { +- char dump[udta_len-4]; +- stream_read(demuxer->stream, (char *)&dump, udta_len-4-4); ++ stream_skip(demuxer->stream, udta_len-4-4); + udta_size -= udta_len; + } + } diff --git a/multimedia/mplayer-share/patches/patch-bc b/multimedia/mplayer-share/patches/patch-bc new file mode 100644 index 00000000000..30a7bd13101 --- /dev/null +++ b/multimedia/mplayer-share/patches/patch-bc @@ -0,0 +1,12 @@ +$NetBSD: patch-bc,v 1.4.2.1 2008/02/11 12:04:15 ghen Exp $ + +--- stream/url.c.orig 2007-10-07 21:49:26.000000000 +0200 ++++ stream/url.c +@@ -328,6 +328,7 @@ url_escape_string(char *outbuf, const ch + } + } + ++ tmp = NULL; + while(i < len) { + // look for the next char that must be kept + for (j=i;j<len;j++) { diff --git a/multimedia/mplayer-share/patches/patch-bd b/multimedia/mplayer-share/patches/patch-bd new file mode 100644 index 00000000000..64e27509531 --- /dev/null +++ b/multimedia/mplayer-share/patches/patch-bd @@ -0,0 +1,34 @@ +$NetBSD: patch-bd,v 1.4.2.1 2008/02/11 12:04:15 ghen Exp $ + +--- stream/stream_cddb.c.orig 2007-10-07 21:49:26.000000000 +0200 ++++ stream/stream_cddb.c +@@ -53,6 +53,7 @@ + #include "version.h" + #include "stream.h" + #include "network.h" ++#include "libavutil/intreadwrite.h" + + #define DEFAULT_FREEDB_SERVER "freedb.freedb.org" + #define DEFAULT_CACHE_DIR "/.cddb/" +@@ -453,8 +454,9 @@ cddb_parse_matches_list(HTTP_header_t *h + } else { + len = ptr2-ptr+1; + } ++ len = FFMIN(sizeof(album_title) - 1, len); + strncpy(album_title, ptr, len); +- album_title[len-2]='\0'; ++ album_title[len]='\0'; + } + mp_msg(MSGT_DEMUX, MSGL_STATUS, MSGTR_MPDEMUX_CDDB_ParseOKFoundAlbumTitle, album_title); + return 0; +@@ -490,8 +492,9 @@ cddb_query_parse(HTTP_header_t *http_hdr + } else { + len = ptr2-ptr+1; + } ++ len = FFMIN(sizeof(album_title) - 1, len); + strncpy(album_title, ptr, len); +- album_title[len-2]='\0'; ++ album_title[len]='\0'; + } + mp_msg(MSGT_DEMUX, MSGL_STATUS, MSGTR_MPDEMUX_CDDB_ParseOKFoundAlbumTitle, album_title); + return cddb_request_titles(cddb_data); |