Re: [Gpsbabel-code] PATCH: Realtime NMEA output
Brought to you by:
robertl
From: Jon M. <ja...@we...> - 2007-03-14 05:32:26
|
On Tue, Mar 13, 2007 at 09:08:02PM -0700, Jon McClintock wrote: > Also, one other thing I noticed: Because the only logic for ending the > realtime tracking is looking for a request_terminate from the GPS, if > you kill gpsbabel with a Ctrl-C, the cleanup code never gets called, > which causes the GPS to crash the next time you run gpsbabel. I've added > a SIGINT handler, and it's much nicer to the GPS now, but I'm getting > double-free errors somewhere in the cleanup code. My test platform is > OSX 10.4 on an Intel Core Duo with an etrex Legend CX. Found the problem here. gusb_teardown() was being added as an atexit() routine. It calls xfree() on it's arg, but atexit handlers take no args, which means it was freeing an invalid memory location. Attached is a fix which wraps gusb_teardown(), passing it a NULL address. -Jon |