Re: I'm having a crashing problem with FreeTDS under OSX
Frediano Ziglio <[email protected]>
| Newsgroups | gmane.comp.db.tds.freetds |
|---|---|
| Message-ID | <[email protected]> |
2009/3/8 Daniel Parnell <[email protected]>: > Hi James, > > Looks like I've got things working on my machine. > What I had to do was replace any calls to strdup with a new function > tds_strdup. > I also have to replace the call to asprintf in odbc.c with sprintf > into a character array and a tds_strdup (not too happy about that one). > > It's very VERY strange that I should need to do this. I've tried > replicating the problem with a smaller application without success. > > Daniel > Mmmm... this can be the problem http://osdir.com/ml/web.curl.general/2004-12/msg00080.html does Mac OS X has asprintf ?? Try using only your tds_strdup. Reading at http://developer.apple.com/documentation/Darwin/Reference/Manpages/man3/asprintf.3.html it seems that same problem apply also to asprintf/vasprintf. They returns pointers malloc-ed with libc but if free is not from libc you get heap corruption. The solution is to use a tds_strdup (as you did) and say in configure that you don't have asprintf/vasprintf so FreeTDS will compile a version that use proper malloc. Which compiler are you using? Another solution would be to link FreeTDS with libc malloc/free. freddy77 _______________________________________________ FreeTDS mailing list [email protected] http://lists.ibiblio.org/mailman/listinfo/freetds