projects
/
platform
/
upstream
/
flac.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
src/libFLAC/stream_decoder.c : Fix buffer read overflow.
[platform/upstream/flac.git]
/
src
/
libFLAC
/
stream_decoder.c
diff --git
a/src/libFLAC/stream_decoder.c
b/src/libFLAC/stream_decoder.c
index
f4d2d39
..
6bc6407
100644
(file)
--- a/
src/libFLAC/stream_decoder.c
+++ b/
src/libFLAC/stream_decoder.c
@@
-1,5
+1,6
@@
/* libFLAC - Free Lossless Audio Codec library
/* libFLAC - Free Lossless Audio Codec library
- * Copyright (C) 2000,2001,2002,2003,2004,2005,2006,2007,2008,2009 Josh Coalson
+ * Copyright (C) 2000-2009 Josh Coalson
+ * Copyright (C) 2011-2013 Xiph.Org Foundation
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@
-70,7
+71,7
@@
FLAC_API int FLAC_API_SUPPORTS_OGG_FLAC =
*
***********************************************************************/
*
***********************************************************************/
-static FLAC__byte ID3V2_TAG_[3] = { 'I', 'D', '3' };
+static
const
FLAC__byte ID3V2_TAG_[3] = { 'I', 'D', '3' };
/***********************************************************************
*
/***********************************************************************
*
@@
-1364,6
+1365,10
@@
FLAC__bool find_metadata_(FLAC__StreamDecoder *decoder)
id = 0;
continue;
}
id = 0;
continue;
}
+
+ if(id >= 3)
+ return false;
+
if(x == ID3V2_TAG_[id]) {
id++;
i = 0;
if(x == ID3V2_TAG_[id]) {
id++;
i = 0;