[argyllcms] Re: Typos and freeing bad food

  • From: Graeme Gill <graeme@xxxxxxxxxxxxx>
  • To: argyllcms@xxxxxxxxxxxxx
  • Date: Sat, 25 Oct 2008 10:00:07 +1100

kevin smiley wrote:
I've noticed some things while looking through the Argyll 1.0.3 source
directory.
./makefile line 9: "install:;". Make wouldn't run until I replaced
that semicolon with a colon.

Thanks, I've never tried it - I use Jam directly.

.scanin/scanrd.c line 2101: "em = "More BOXes that declared";" What
does this mean?

It means that the .cht file has more boxes implied by the array, than
has been declared in the BOXES line.

Scanin is consistently crashing when I execute it with a particular
tiff. Debugging shows that it is trying to free the char pointer
sr->out, which is pointing to apparently empty memory at 0xbaadf00d.
An ad-hoc stack trace:

scanin.c, line 1282:
        sr->free(sr);
scanrd.c, line 514:
        if (s->out != NULL)
                free(s->out);

Is there any harm in changing line 514 to "if (s->out != NULL &&
s->out != 0xbaadf00d)"?

It's not a fix, and won't work the same on a different platform or
different compiler (I think you'll find 0xbaadf00d is something
created by certain compilers in debug mode to mark unallocated or
free'd memory).

It would be much better if you could point me at the .tiff file
(and any other relevant files such as the .cht if it's not standard),
so I can fix it properly :-)

Graeme Gill.

Other related posts: