bugCompact Disc Input and Control Library - Bugs: bug #18131, "make check" sometimes...

 
 

bug #18131: "make check" sometimes fails on some platforms (for example, Mac OS X 10.4.8).

Submitter:  None
Submitted:  Fri 27 Oct 2006 06:40:32 PM UTC
   
 
Category:  regression tests Severity:  5 - Average
Item Group:  libcdio Status:  Fixed
Privacy:  Public Assigned to:  rocky
Originator Email:  -email is unavailable- Open/Closed:  Closed
* Mandatory Fields

Add a New Comment Rich Markup
   

Fri 17 Oct 2008 12:10:48 PM UTC, comment #3: 

Is this still happening?

Rocky Bernstein <rocky>
Group administrator
Wed 01 Nov 2006 03:25:21 AM UTC, comment #2: 
Rocky Bernstein <rocky>
Group administrator
Sat 28 Oct 2006 04:57:07 AM UTC, comment #1: 

The error log of "make check" is the following.
These fails are corrected with my patch.
If you do not want to leave errno adjusted to 0, errno might have to be preserved in old_errno beforehand.

http://www.google.com/codesearch?q=old_errno+errno+strtol&btnG=Search+Code

--
demo-n

*** testiso9660 ***

++ WARN: string 'ABC!123' is getting truncated to 2 characters
Years aren't equal. get: 106, set 105
Months aren't equal. get: 9, set 11
Month days aren't equal. get: 28, set 31
minute aren't equal. get: 10, set 0
seconds aren't equal. get: 44, set 0
Year days aren't equal. get: 300, set 364
local time retrieved with iso9660_get_ltime() not
same as that set with iso9660_set_ltime().
FAIL: testiso9660

*** testtoc ***

   INFO: ./cdtext.toc line 47: unimplimented keyword: SILENCE
Correct: cdtext.toc parses as a cdrdao TOC file.
   INFO: ./t1.toc line 5: unimplimented keyword: SILENCE
Correct: t1.toc parses as a cdrdao TOC file.
Correct: t2.toc parses as a cdrdao TOC file.
Correct: t3.toc parses as a cdrdao TOC file.
Correct: t4.toc parses as a cdrdao TOC file.
Correct: t5.toc parses as a cdrdao TOC file.
Correct: t6.toc parses as a cdrdao TOC file.
Correct: t7.toc parses as a cdrdao TOC file.
Correct: t8.toc parses as a cdrdao TOC file.
Correct: t9.toc parses as a cdrdao TOC file.
   INFO: ./data1.toc line 7: unimplimented keyword: SILENCE
Correct: data1.toc parses as a cdrdao TOC file.
   INFO: ./data2.toc line 8: unimplimented keyword: ZERO
Correct: data2.toc parses as a cdrdao TOC file.
Correct: data5.toc parses as a cdrdao TOC file.
Correct: data6.toc parses as a cdrdao TOC file.
Correct: data7.toc parses as a cdrdao TOC file.
   INFO: ./vcd2.toc line 16: can't convert `1051200' to byte offset
Incorrect: vcd2.toc doesn't parse as a cdrdao TOC file.
   INFO: ./bad-msf-1.toc line 6: invalid MSF string 0:0:75
Correct: bad-msf-1.toc doesn't parse as a cdrdao TOC file.
   INFO: ./bad-msf-2.toc line 6: invalid MSF string 0:60:0
Correct: bad-msf-2.toc doesn't parse as a cdrdao TOC file.
   INFO: ./bad-msf-3.toc line 6: invalid MSF string xx:yy:zz
Correct: bad-msf-3.toc doesn't parse as a cdrdao TOC file.
   INFO: ./bad-cat1.toc line 4 after word CATALOG:
   INFO: Expecting 13 digits; nothing seen.
Correct: bad-cat1.toc doesn't parse as a cdrdao TOC file.
   INFO: ./bad-cat2.toc line 4 after word CATALOG:
   INFO: Token 167890123   has length 11. Should be 13 digits.
Correct: bad-cat2.toc doesn't parse as a cdrdao TOC file.
   INFO: ./bad-cat3.toc line 4 after word CATALOG:
   INFO: Character "A" at postition 10 of token "123456789A123" is not all digits.
Correct: bad-cat3.toc doesn't parse as a cdrdao TOC file.
++ WARN: could not retrieve file info for `foo.bin': No such file or directory
   INFO: ./bad-file.toc line 8: can't open file `foo.bin' for reading
Correct: bad-file.toc doesn't parse as a cdrdao TOC file.
   INFO: ./bad-mode1.toc line 4 after TRACK:
   INFO: 'MODE1_FORM45' not a valid mode.
Correct: bad-mode1.toc doesn't parse as a cdrdao TOC file.
FAIL: testtoc

Anonymous
Fri 27 Oct 2006 06:40:32 PM UTC, original submission:  

"make check" sometimes fails on some platforms (for example, Mac OS X 10.4.8).
Please reset errno before strtol().
--
demo-n

diff -Naur libcdio.orig/example/cdchange.c libcdio/example/cdchange.c
--- libcdio.orig/example/cdchange.c     2006-01-24 09:53:19.000000000 +0900
+++ libcdio/example/cdchange.c  2006-10-28 03:17:10.000000000 +0900
@@ -50,6 +50,7 @@
   if (argc > 1) {
     p_cdio = cdio_open (argv[1], DRIVER_DEVICE);
     if (argc > 2) {
+      errno = 0;
       i_sleep = strtol(argv[2], (char **)NULL, 10);
       if (errno != 0) {
        printf("Invalid sleep parameter %s\n", argv[2]);
diff -Naur libcdio.orig/lib/driver/image/cdrdao.c libcdio/lib/driver/image/cdrdao.c
--- libcdio.orig/lib/driver/image/cdrdao.c      2006-02-27 19:27:39.000000000 +0900
+++ libcdio/lib/driver/image/cdrdao.c   2006-10-28 03:13:48.000000000 +0900
@@ -758,6 +758,7 @@
            if ( psz_field[0] == '#') {
              long int offset;
              psz_field++;
+             errno = 0;
              offset = strtol(psz_field, (char **)NULL, 10);
              if ( 0 != errno ) {
                cdio_log (log_level,
diff -Naur libcdio.orig/lib/iso9660/iso9660.c libcdio/lib/iso9660/iso9660.c
--- libcdio.orig/lib/iso9660/iso9660.c  2006-10-24 22:41:00.000000000 +0900
+++ libcdio/lib/iso9660/iso9660.c       2006-10-28 03:14:41.000000000 +0900
@@ -169,6 +169,7 @@
     char num[10];                                                       \
     memcpy(num, p_ldate->LT_FIELD, sizeof(p_ldate->LT_FIELD));          \
     num[sizeof(p_ldate->LT_FIELD)+1] = '\0';                            \
+    errno = 0;                                                          \
     p_tm->TM_FIELD = strtol(num,                                        \
                             (char **)NULL, 10)+ADD_CONSTANT;            \
     if (0 != errno) return false;                                       \
diff -Naur libcdio.orig/src/cd-paranoia/cd-paranoia.c libcdio/src/cd-paranoia/cd-paranoia.c
--- libcdio.orig/src/cd-paranoia/cd-paranoia.c  2006-03-18 10:28:14.000000000 +0900
+++ libcdio/src/cd-paranoia/cd-paranoia.c       2006-10-28 03:15:46.000000000 +0900
@@ -652,6 +652,7 @@
            " but not found. Option ignored\n", c);
     return false;
   }
+  errno = 0;
   i_arg = strtol(optarg, &p_end, 10);
   if (errno == ERANGE) {
     fprintf(stderr,

Anonymous

 

(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

Attach Files:
   
   
Comment:
   

No files currently attached

 

Depends on the following items: None found

Items that depend on this one: None found

 

Carbon-Copy List
  • -email is unavailable- added by rocky (Posted a comment)
  •  

    There are 0 votes so far. Votes easily highlight which items people would like to see resolved in priority, independently of the priority of the item set by tracker managers.

    Only logged-in users can vote.

     

    Follow 3 latest changes.

    Date Changed by Updated Field Previous Value => Replaced by
    2010-02-12 rocky StatusNone Fixed
        Assigned toNone rocky
        Open/ClosedOpen Closed

    Back to the top

    Powered by Savane 3.13-aa77.
    Corresponding source code