libogg: Update to upstream 1.3.5

Mostly a cosmetic update, we were already on a commit close to what
ended up being tagged as 1.3.5. Adds an extra buffer overflow fix.
This commit is contained in:
Rémi Verschelde 2021-11-19 12:32:07 +01:00
parent 42f8bfaff0
commit 77efd406bf
No known key found for this signature in database
GPG Key ID: C3336907360768E1
3 changed files with 24 additions and 6 deletions

View File

@ -235,14 +235,14 @@ Files extracted from upstream source:
## libogg ## libogg
- Upstream: https://www.xiph.org/ogg - Upstream: https://www.xiph.org/ogg
- Version: git (c8fca6b4a02d695b1ceea39b330d4406001c03ed, 2019) - Version: 1.3.5 (e1774cd77f471443541596e09078e78fdc342e4f, 2021)
- License: BSD-3-Clause - License: BSD-3-Clause
Files extracted from upstream source: Files extracted from upstream source:
- `src/*.{c,h}` - `src/*.{c,h}`
- `include/ogg/*.h` in ogg/ - `include/ogg/*.h` in `ogg/` (run `configure` to generate `config_types.h`)
- COPYING - `COPYING`
## libpng ## libpng

View File

@ -597,9 +597,14 @@ char *ogg_sync_buffer(ogg_sync_state *oy, long size){
if(size>oy->storage-oy->fill){ if(size>oy->storage-oy->fill){
/* We need to extend the internal buffer */ /* We need to extend the internal buffer */
long newsize=size+oy->fill+4096; /* an extra page to be nice */ long newsize;
void *ret; void *ret;
if(size>INT_MAX-4096-oy->fill){
ogg_sync_clear(oy);
return NULL;
}
newsize=size+oy->fill+4096; /* an extra page to be nice */
if(oy->data) if(oy->data)
ret=_ogg_realloc(oy->data,newsize); ret=_ogg_realloc(oy->data,newsize);
else else
@ -1564,7 +1569,7 @@ void test_pack(const int *pl, const int **headers, int byteskip,
byteskipcount=byteskip; byteskipcount=byteskip;
} }
ogg_sync_wrote(&oy,next-buf); ogg_sync_wrote(&oy,(long)(next-buf));
while(1){ while(1){
int ret=ogg_sync_pageout(&oy,&og_de); int ret=ogg_sync_pageout(&oy,&og_de);

View File

@ -1,7 +1,20 @@
#ifndef __CONFIG_TYPES_H__ #ifndef __CONFIG_TYPES_H__
#define __CONFIG_TYPES_H__ #define __CONFIG_TYPES_H__
#include <stdint.h> /* these are filled in by configure or cmake*/
#define INCLUDE_INTTYPES_H 1
#define INCLUDE_STDINT_H 1
#define INCLUDE_SYS_TYPES_H 1
#if INCLUDE_INTTYPES_H
# include <inttypes.h>
#endif
#if INCLUDE_STDINT_H
# include <stdint.h>
#endif
#if INCLUDE_SYS_TYPES_H
# include <sys/types.h>
#endif
typedef int16_t ogg_int16_t; typedef int16_t ogg_int16_t;
typedef uint16_t ogg_uint16_t; typedef uint16_t ogg_uint16_t;