diff options
| author | Monty <xiphmont@xiph.org> | 2000-02-05 23:31:50 +0000 |
|---|---|---|
| committer | Monty <xiphmont@xiph.org> | 2000-02-05 23:31:50 +0000 |
| commit | e05650dfaef60c432fc705d1060ac950e9d31fd6 (patch) | |
| tree | 5bc31f4c476f9d25f57fb252e065058499a27ce5 /lib | |
| parent | fbac7476bd4a94ea2b8e2e09ea0b4caea608211c (diff) | |
| download | libvorbis-git-e05650dfaef60c432fc705d1060ac950e9d31fd6.tar.gz | |
Added unit tests for bitwise read past end.
Monty
svn path=/trunk/vorbis/; revision=249
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/bitwise.c | 40 | ||||
| -rw-r--r-- | lib/psy.h | 9 |
2 files changed, 47 insertions, 2 deletions
diff --git a/lib/bitwise.c b/lib/bitwise.c index 37599b64..77b38e2b 100644 --- a/lib/bitwise.c +++ b/lib/bitwise.c @@ -12,7 +12,7 @@ ******************************************************************** function: packing variable sized words into an octet stream - last mod: $Id: bitwise.c,v 1.7 2000/02/05 23:23:56 xiphmont Exp $ + last mod: $Id: bitwise.c,v 1.8 2000/02/05 23:31:49 xiphmont Exp $ ********************************************************************/ @@ -363,7 +363,45 @@ int main(void){ fprintf(stderr,"\nSingle bit unclicpped packing: "); cliptest(testbuffer3,test3size,1,six,sixsize); + fprintf(stderr,"ok."); + + fprintf(stderr,"\nTesting read past end: "); + _oggpack_readinit(&r,"\0\0\0\0\0\0\0\0",8); + for(i=0;i<64;i++){ + if(_oggpack_read(&r,1)!=0){ + fprintf(stderr,"failed; got -1 prematurely.\n"); + exit(1); + } + } + if(_oggpack_look(&r,1)!=-1 || + _oggpack_read(&r,1)!=-1){ + fprintf(stderr,"failed; read past end without -1.\n"); + exit(1); + } + _oggpack_readinit(&r,"\0\0\0\0\0\0\0\0",8); + if(_oggpack_read(&r,30)!=0 || _oggpack_read(&r,16)!=0){ + fprintf(stderr,"failed 2; got -1 prematurely.\n"); + exit(1); + } + + if(_oggpack_look(&r,18)!=0 || + _oggpack_look(&r,18)!=0){ + fprintf(stderr,"failed 3; got -1 prematurely.\n"); + exit(1); + } + if(_oggpack_look(&r,19)!=-1 || + _oggpack_look(&r,19)!=-1){ + fprintf(stderr,"failed; read past end without -1.\n"); + exit(1); + } + if(_oggpack_look(&r,32)!=-1 || + _oggpack_look(&r,32)!=-1){ + fprintf(stderr,"failed; read past end without -1.\n"); + exit(1); + } fprintf(stderr,"ok.\n\n"); + + return(0); } #endif @@ -12,7 +12,7 @@ ******************************************************************** function: random psychoacoustics (not including preecho) - last mod: $Id: psy.h,v 1.8 2000/01/28 15:25:11 xiphmont Exp $ + last mod: $Id: psy.h,v 1.9 2000/02/05 23:31:50 xiphmont Exp $ ********************************************************************/ @@ -26,6 +26,13 @@ typedef struct { double *maskthresh; double *barknum; + int framebegin; + int frameend; + int subframelen; + int elements[4]; + double cutoffs[4]; + int quantval[4]; + } vorbis_look_psy; extern void _vp_psy_init(vorbis_look_psy *p,vorbis_info_psy *vi,int n,long rate); |
