I'm sure everyone will hate me for this, but my boyfriend is out of town
and I'm a bit bored. Just want to report these interesting bits so they
aren't forgotten and then pop up at us later :)
I went ahead and ran Purify while "playing" Jones in the Fast Lane,
interesting result is below. NOTE TO USERS: NOTHING IS DISPLAYED, AND THE
GAME IS NOT PLAYABLE. DON'T BOTHER TRYING.
[E] ABR: Array bounds read in vocab_get_words_sci1 {16 occurrences}
Reading 1 byte from 0x02bd3e54 (1 byte at 0x02bd3e54 illegal)
Address 0x02bd3e54 is 1 byte past the end of a 1100 byte block at
0x02bd3a08
Address 0x02bd3e54 points to a malloc'd block in heap 0x02bb0000
Thread ID: 0x4b8
Error location
vocab_get_words_sci1 [vocab.c:109]
currentwordpos = resource->data[seeker++]; /* Parts of previous
words may be re-used */
do {
=> c = resource->data[seeker++];
currentword[currentwordpos++] = c;
} while (c);
vocab_get_words [vocab.c:153]
if (!resource) {
fprintf(stderr,"SCI0: Could not find a main vocabulary, trying
SCI01.\n");
=> return vocab_get_words_sci1(word_counter); /* NOT critical: SCI1
games and some demos don't have one! */
}
--
http://www.clock.org/~matt