Skip to content
Snippets Groups Projects
Commit 5594741a authored by Daniel Stenberg's avatar Daniel Stenberg
Browse files

Added fopen() and fclose() leak tracking

parent cbaeed72
No related branches found
No related tags found
No related merge requests found
......@@ -151,4 +151,20 @@ int curl_sclose(int sockfd, int line, char *source)
return sockfd;
}
FILE *curl_fopen(char *file, char *mode, int line, char *source)
{
FILE *res=(fopen)(file, mode);
fprintf(logfile?logfile:stderr, "FILE %s:%d fopen(\"%s\") = %p\n",
source, line, file, res);
return res;
}
int curl_fclose(FILE *file, int line, char *source)
{
int res=(fclose)(file);
fprintf(logfile?logfile:stderr, "FILE %s:%d fclose(%p)\n",
source, line, file);
return res;
}
#endif /* MALLOCDEBUG */
#ifdef MALLOCDEBUG
#include <sys/socket.h>
#include <stdio.h>
/* memory functions */
void *curl_domalloc(size_t size, int line, char *source);
void *curl_dorealloc(void *ptr, size_t size, int line, char *source);
......@@ -12,6 +16,10 @@ int curl_sclose(int sockfd, int, char *);
int curl_accept(int s, struct sockaddr *addr, int *addrlen,
int line, char *source);
/* FILE functions */
FILE *curl_fopen(char *file, char *mode, int line, char *source);
int curl_fclose(FILE *file, int line, char *source);
/* Set this symbol on the command-line, recompile all lib-sources */
#define strdup(ptr) curl_dostrdup(ptr, __LINE__, __FILE__)
#define malloc(size) curl_domalloc(size, __LINE__, __FILE__)
......@@ -27,4 +35,8 @@ int curl_accept(int s, struct sockaddr *addr, int *addrlen,
#undef sclose
#define sclose(sockfd) curl_sclose(sockfd,__LINE__,__FILE__)
#undef fopen
#define fopen(file,mode) curl_fopen(file,mode,__LINE__,__FILE__)
#define fclose(file) curl_fclose(file,__LINE__,__FILE__)
#endif
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment