Package: libmusicbrainz-discid-perl / 0.03-6

Metadata

Package Version Patches format
libmusicbrainz-discid-perl 0.03-6 3.0 (quilt)

Patch series

view the series file
Patch File delta Description
pod encoding.patch | (download)

lib/MusicBrainz/DiscID.pm | 2 1 + 1 - 0 !
1 file changed, 1 insertion(+), 1 deletion(-)

 use plain ascii apostrophe
url.patch | (download)

t/10discid.t | 4 2 + 2 - 0 !
1 file changed, 2 insertions(+), 2 deletions(-)

 libdiscid 0.6.x has updated the urls
 modify test to accept old and new ones
stack corruption discid_put.patch | (download)

lib/MusicBrainz/DiscID.xs | 7 4 + 3 - 0 !
t/10discid.t | 5 4 + 1 - 0 !
2 files changed, 8 insertions(+), 4 deletions(-)

 stack corruption in discid_put
 This patch fixes two ways to corrupt the stack. One is by supplying
 more that 99 offset arguments. The offsets array is declared with space
 for 100 elements, but the first is reserved for the sectors argument.
 The patch addresses this by limitting the filling of offsets[] to 99 elements
 (plus the sectors argument which is in offsets[0]). It relies on libdiscid
 to return false if the request was for more than 99 offsets.
 .
 The second stack corruption is because of a typo in the initialization
 for loop. Because of that, the for loop is essentially reduced to
 "i=100" and the following line (not part of the loop) sets
 offsets[100], which is beyond the allocated space for the array. Using
 memset is safer and probably faster.