From d21f6b198d1df8af048308430fb9c510c3f27807 Mon Sep 17 00:00:00 2001 From: z3APA3A <3APA3A@3proxy.ru> Date: Fri, 4 Sep 2015 00:28:26 +0300 Subject: [PATCH] fix static memory free() attempt --- src/plugins/FilePlugin/FilePlugin.c | 12 +++++++----- src/version.h | 2 +- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/src/plugins/FilePlugin/FilePlugin.c b/src/plugins/FilePlugin/FilePlugin.c index 79354c5..273c79e 100644 --- a/src/plugins/FilePlugin/FilePlugin.c +++ b/src/plugins/FilePlugin/FilePlugin.c @@ -48,7 +48,7 @@ static pthread_mutex_t file_mutex; unsigned long preview = 0; -char path[256]; +char path[300]; static int counter = 0; static int timeo = 0; @@ -875,13 +875,15 @@ __declspec(dllexport) fp_symbols[1].next = pl->symbols.next; pl->symbols.next = fp_symbols; } - if(path) free(path); dirp = (argc > 1)? argv[1] : getenv("TEMP"); - if(strlen(dirp) > 200 || strchr(dirp, '%')) return (13001); + if(strlen(dirp) > 200 || strchr(dirp, '%')) { + fprintf(stderr, "FilePlugin: invalid directory path: %s\n", dirp); + return (13001); + } #ifdef _WIN32 - sprintf(path, "%s\\%%d.tmp", dirp); + sprintf(path, "%.256s\\%%07d.tmp", dirp); #else - sprintf(path, "%s/%%d.tmp", dirp); + sprintf(path, "%.256s/%%07d.tmp", dirp); #endif if(argc > 2) preview = atoi(argv[2]); if(!preview) preview = 32768; diff --git a/src/version.h b/src/version.h index 8d912b7..19350d5 100644 --- a/src/version.h +++ b/src/version.h @@ -1,2 +1,2 @@ #define VERSION "3proxy-0.8b-devel" -#define BUILDDATE "150901162209" +#define BUILDDATE "150904002243"