فهرست منبع

fix static memory free() attempt

z3APA3A 10 سال پیش
والد
کامیت
d21f6b198d
2فایلهای تغییر یافته به همراه8 افزوده شده و 6 حذف شده
  1. 7 5
      src/plugins/FilePlugin/FilePlugin.c
  2. 1 1
      src/version.h

+ 7 - 5
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;

+ 1 - 1
src/version.h

@@ -1,2 +1,2 @@
 #define VERSION "3proxy-0.8b-devel"
-#define BUILDDATE "150901162209"
+#define BUILDDATE "150904002243"