These showed up running under gdb with CK_FORK="no". Please review and apply.
Brad
# Bazaar merge directive format 2 (Bazaar 0.90) # revision_id: [email protected]\ # h8vi60vapbj14wpw # target_branch: http://bzr.savannah.gnu.org/r/pdf/libgnupdf/branches\ # /trunk/ # testament_sha1: 7e2972de888dc923a4fc6ae295b74dccbd63863f # timestamp: 2009-06-22 21:22:38 +1000 # base_revision_id: [email protected] # # Begin patch === modified file 'AUTHORS' --- AUTHORS 2009-06-18 12:06:04 +0000 +++ AUTHORS 2009-06-22 11:20:04 +0000 @@ -83,6 +83,7 @@ prmgt/MANIFEST.wiki src/MANIFEST.wiki src/README + src/base/pdf-text.c src/base/pdf-time.c src/object/MANIFEST.wiki torture/MANIFEST.wiki @@ -92,8 +93,9 @@ torture/unit/base/crypt/pdf-crypt-md-new.c torture/unit/base/crypt/pdf-crypt-md-read.c torture/unit/base/text/pdf-text-dup.c - torture/unit/base/text/pdf-text-new-destroy + torture/unit/base/text/pdf-text-new-destroy.c torture/unit/base/text/pdf-text-new-from-host.c + torture/unit/base/text/tsuite-text.c torture/unit/base/types/pdf-i64-abs.c torture/unit/base/types/pdf-i64-mod.c torture/unit/base/types/pdf-i64-neg.c === modified file 'ChangeLog' --- ChangeLog 2009-06-18 12:06:04 +0000 +++ ChangeLog 2009-06-22 11:20:04 +0000 @@ -1,3 +1,12 @@ +2009-06-22 Brad Hards <[email protected]> + + * src/base/pdf-text.c (pdf_text_dup): Protect against NULL arg. + + * torture/unit/base/text/tsuite-text.c (tsuite_text): Reorganise + tests to avoid failure when running with CK_FORK="no" + * torture/unit/base/text/pdf-text-new-destroy.c : likewise + + 2009-06-18 Brad Hards <[email protected]> * doc/gnupdf-arch.texi: fix typos === modified file 'src/base/pdf-text.c' --- src/base/pdf-text.c 2008-11-11 21:10:14 +0000 +++ src/base/pdf-text.c 2009-06-22 11:15:11 +0000 @@ -197,6 +197,11 @@ { pdf_text_t element; + if (text == NULL) + { + return NULL; + } + /* Allocate and initialize element */ if (pdf_text_new (&element) == PDF_OK) { === modified file 'torture/unit/base/text/pdf-text-new-destroy.c' --- torture/unit/base/text/pdf-text-new-destroy.c 2009-06-16 18:47:36 +0000 +++ torture/unit/base/text/pdf-text-new-destroy.c 2009-06-22 11:11:04 +0000 @@ -29,9 +29,25 @@ #include <pdf.h> #include <check.h> + /* * Test: pdf_text_new_destroy_001 * Description: + * Create a text object without initializing the context + * Success conditions: + * 1. The call to @code{pdf_text_new} should return PDF_EBADCONTEXT + */ +START_TEST(pdf_text_new_destroy_001) +{ + pdf_text_t newtext = NULL; + + fail_unless(pdf_text_new (&newtext) == PDF_EBADCONTEXT); +} +END_TEST + +/* + * Test: pdf_text_new_destroy_002 + * Description: * Create an empty text object and destroy it * Success conditions: * 1. The call to @code{pdf_text_new} should not return a @code{NULL} pointer. @@ -40,7 +56,7 @@ * 4. The country code of the output object should be empty * 5. The call to @code{pdf_text_destroy} should return PDF_OK; */ -START_TEST(pdf_text_new_destroy_001) +START_TEST(pdf_text_new_destroy_002) { pdf_text_t newtext = NULL; @@ -66,20 +82,6 @@ } END_TEST -/* - * Test: pdf_text_new_destroy_002 - * Description: - * Create an text object without initializing the context - * Success conditions: - * 1. The call to @code{pdf_text_new} should return PDF_EBADCONTEXT - */ -START_TEST(pdf_text_new_destroy_002) -{ - pdf_text_t newtext = NULL; - - fail_unless(pdf_text_new (&newtext) == PDF_EBADCONTEXT); -} -END_TEST /* * Test case creation function === modified file 'torture/unit/base/text/tsuite-text.c' --- torture/unit/base/text/tsuite-text.c 2008-04-13 21:56:47 +0000 +++ torture/unit/base/text/tsuite-text.c 2009-06-22 11:11:04 +0000 @@ -60,8 +60,8 @@ s = suite_create("text"); + suite_add_tcase (s, test_pdf_text_new_destroy()); suite_add_tcase (s, test_pdf_text_init()); - suite_add_tcase (s, test_pdf_text_new_destroy()); suite_add_tcase (s, test_pdf_text_dup()); suite_add_tcase (s, test_pdf_text_new_from_host()); suite_add_tcase (s, test_pdf_text_new_from_pdf_string ()); # Begin bundle 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
