Hi all, Well. I tried to reproduce the bug in FS#103 [1]. I couldn't get a sigfault but many of the tests were failing because they were expecting a PDF_ERROR where a PDF_EBADDATA is actually returned.
The following patch solves the problem. ## # Bazaar merge directive format 2 (Bazaar 0.90) # revision_id: [email protected] # target_branch: file:///home/gerel/PROJECTS/libgnupdf/trunk/ # testament_sha1: c029f221976f4e69952408b1fed3c820694b8fdc # timestamp: 2010-03-30 10:24:50 -0300 # base_revision_id: [email protected] # # Begin patch === modified file 'ChangeLog' --- ChangeLog 2010-03-29 19:07:36 +0000 +++ ChangeLog 2010-03-30 13:24:41 +0000 @@ -1,3 +1,27 @@ +2010-03-30 Gerardo E. Gidoni <[email protected]> + + * torture/unit/base/types/pdf-i64-abs.c: testing for invalid destination + (with NULL) should return PDF_EBADDATA instead of PDF_ERROR. + + * torture/unit/base/types/pdf-i64-add.c: likewise. + + * torture/unit/base/types/pdf-i64-assign-quick.c: likewise. + + * torture/unit/base/types/pdf-i64-assign.c: likewise. + + * torture/unit/base/types/pdf-i64-copy.c: likewise. + + * torture/unit/base/types/pdf-i64-div.c: likewise. + + * torture/unit/base/types/pdf-i64-mod.c: likewise. + + * torture/unit/base/types/pdf-i64-mult.c: likewise. + + * torture/unit/base/types/pdf-i64-neg.c: likewise. + + * torture/unit/base/types/pdf-i64-subtraction.c: likewise. + + 2010-03-29 Jose E. Marchesi <[email protected]> * configure.ac: Check if the available version of libcheck is not === modified file 'torture/unit/base/types/pdf-i64-abs.c' --- torture/unit/base/types/pdf-i64-abs.c 2010-02-20 16:02:07 +0000 +++ torture/unit/base/types/pdf-i64-abs.c 2010-03-30 13:24:41 +0000 @@ -110,7 +110,7 @@ fail_if(p_status != PDF_OK); pdf_i64_abs(dest, src , &p_status); - fail_unless(p_status == PDF_ERROR); + fail_unless(p_status == PDF_EBADDATA); } END_TEST === modified file 'torture/unit/base/types/pdf-i64-add.c' --- torture/unit/base/types/pdf-i64-add.c 2010-02-20 16:02:07 +0000 +++ torture/unit/base/types/pdf-i64-add.c 2010-03-30 13:24:41 +0000 @@ -86,7 +86,7 @@ #ifndef PDF_USE_BUILTIN_64BIT_SUPPORT pdf_i64_t *dest = NULL; pdf_i64_add(dest,add1,add2, &p_status); - fail_if(p_status != PDF_ERROR); + fail_if(p_status != PDF_EBADDATA); #endif === modified file 'torture/unit/base/types/pdf-i64-assign-quick.c' --- torture/unit/base/types/pdf-i64-assign-quick.c 2010-02-20 16:02:07 +0000 +++ torture/unit/base/types/pdf-i64-assign-quick.c 2010-03-30 13:24:41 +0000 @@ -79,7 +79,7 @@ pdf_init(); pdf_i64_assign_quick(k,5,&p_status); - fail_if( p_status != PDF_ERROR); + fail_if( p_status != PDF_EBADDATA); #endif } === modified file 'torture/unit/base/types/pdf-i64-assign.c' --- torture/unit/base/types/pdf-i64-assign.c 2010-02-20 16:02:07 +0000 +++ torture/unit/base/types/pdf-i64-assign.c 2010-03-30 13:24:41 +0000 @@ -80,7 +80,7 @@ pdf_init(); pdf_i64_assign(k,4,5,&p_status); - fail_if( p_status != PDF_ERROR); + fail_if( p_status != PDF_EBADDATA); #endif } === modified file 'torture/unit/base/types/pdf-i64-copy.c' --- torture/unit/base/types/pdf-i64-copy.c 2010-02-20 16:02:07 +0000 +++ torture/unit/base/types/pdf-i64-copy.c 2010-03-30 13:24:41 +0000 @@ -87,7 +87,7 @@ #ifndef PDF_USE_BUILTIN_64BIT_SUPPORT pdf_i64_t *copy = NULL; pdf_i64_copy(orig,copy,&p_status); - fail_if( p_status != PDF_ERROR); + fail_if( p_status != PDF_EBADDATA); #endif } === modified file 'torture/unit/base/types/pdf-i64-div.c' --- torture/unit/base/types/pdf-i64-div.c 2010-02-20 16:02:07 +0000 +++ torture/unit/base/types/pdf-i64-div.c 2010-03-30 13:24:41 +0000 @@ -89,7 +89,7 @@ #ifndef PDF_USE_BUILTIN_64BIT_SUPPORT pdf_i64_t *dest = NULL; pdf_i64_div(dest,div1,div2, &p_status); - fail_if(p_status != PDF_ERROR); + fail_if(p_status != PDF_EBADDATA); #endif === modified file 'torture/unit/base/types/pdf-i64-mod.c' --- torture/unit/base/types/pdf-i64-mod.c 2010-02-20 16:02:07 +0000 +++ torture/unit/base/types/pdf-i64-mod.c 2010-03-30 13:24:41 +0000 @@ -89,7 +89,7 @@ #ifndef PDF_USE_BUILTIN_64BIT_SUPPORT pdf_i64_t *dest = NULL; pdf_i64_mod(dest,mod1,mod2, &p_status); - fail_if(p_status != PDF_ERROR); + fail_if(p_status != PDF_EBADDATA); #endif @@ -187,7 +187,7 @@ fail_if(p_status != PDF_OK); pdf_i64_mod(dest, mod1, mod2, &p_status); - fail_unless(p_status == PDF_ERROR); + fail_unless(p_status == PDF_EBADDATA); } END_TEST === modified file 'torture/unit/base/types/pdf-i64-mult.c' --- torture/unit/base/types/pdf-i64-mult.c 2010-02-20 16:02:07 +0000 +++ torture/unit/base/types/pdf-i64-mult.c 2010-03-30 13:24:41 +0000 @@ -89,7 +89,7 @@ #ifndef PDF_USE_BUILTIN_64BIT_SUPPORT pdf_i64_t *dest = NULL; pdf_i64_mult(dest,mult1,mult2, &p_status); - fail_if(p_status != PDF_ERROR); + fail_if(p_status != PDF_EBADDATA); #endif === modified file 'torture/unit/base/types/pdf-i64-neg.c' --- torture/unit/base/types/pdf-i64-neg.c 2010-02-20 16:02:07 +0000 +++ torture/unit/base/types/pdf-i64-neg.c 2010-03-30 13:24:41 +0000 @@ -120,7 +120,7 @@ fail_if(p_status != PDF_OK); pdf_i64_neg(dest, src , &p_status); - fail_unless(p_status == PDF_ERROR); + fail_unless(p_status == PDF_EBADDATA); } END_TEST === modified file 'torture/unit/base/types/pdf-i64-subtraction.c' --- torture/unit/base/types/pdf-i64-subtraction.c 2010-02-20 16:02:07 +0000 +++ torture/unit/base/types/pdf-i64-subtraction.c 2010-03-30 13:24:41 +0000 @@ -91,7 +91,7 @@ #ifndef PDF_USE_BUILTIN_64BIT_SUPPORT pdf_i64_t *dest = NULL; pdf_i64_subtraction(dest,subtraction1,subtraction2, &p_status); - fail_if(p_status != PDF_ERROR); + fail_if(p_status != PDF_EBADDATA); #endif # Begin bundle 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 ### [1] http://www.gnupdf.org/flyspray/index.php?do=details&task_id=103
