1
0
mirror of https://github.com/moparisthebest/curl synced 2025-01-02 09:28:01 -05:00

Prevent multiple initialization of memdebug configuration variables.

This was possible on debug c-ares enabled builds when both CURL_MEMDEBUG
and CARES_MEMDEBUG environment variables were set. Leading to a file handle
leak even when both variables had the same value, and wierd test suite
results when different.
This commit is contained in:
Yang Tse 2006-11-05 12:42:50 +00:00
parent bf57e9bb12
commit 1bcbe89802

View File

@ -61,25 +61,29 @@ struct memdebug {
*/
#define logfile curl_debuglogfile
FILE *curl_debuglogfile;
static bool memlimit; /* enable memory limit */
static long memsize; /* set number of mallocs allowed */
FILE *curl_debuglogfile = NULL;
static bool memlimit = FALSE; /* enable memory limit */
static long memsize = 0; /* set number of mallocs allowed */
/* this sets the log file name */
void curl_memdebug(const char *logname)
{
if(logname)
logfile = fopen(logname, "w");
else
logfile = stderr;
if (!logfile) {
if(logname)
logfile = fopen(logname, "w");
else
logfile = stderr;
}
}
/* This function sets the number of malloc() calls that should return
successfully! */
void curl_memlimit(long limit)
{
memlimit = TRUE;
memsize = limit;
if (!memlimit) {
memlimit = TRUE;
memsize = limit;
}
}
/* returns TRUE if this isn't allowed! */