Description: use the max value between len or MAXPATHLEN
Index: boinc/client/file_names.cpp
===================================================================
--- boinc.orig/client/file_names.cpp
+++ boinc/client/file_names.cpp
@@ -66,7 +66,7 @@ int make_soft_link(PROJECT* project, cha
 //
 void get_pathname(FILE_INFO* fip, char* path, int len) {
     PROJECT* p = fip->project;
-    char buf[MAXPATHLEN];
+    char buf[std::max(len,MAXPATHLEN)];
 
     // for testing purposes, it's handy to allow a FILE_INFO without
     // an associated PROJECT.
@@ -88,28 +88,28 @@ void get_pathname(FILE_INFO* fip, char*
 }
 
 void get_sched_request_filename(PROJECT& project, char* buf, int len) {
-    char url[1024];
+    char url[std::max(len,MAXPATHLEN)];
 
     escape_project_url(project.master_url, url);
     snprintf(buf, len, "%s%s.xml", SCHED_OP_REQUEST_BASE, url);
 }
 
 void get_sched_reply_filename(PROJECT& project, char* buf, int len) {
-    char url[1024];
+    char url[std::max(len,MAXPATHLEN)];
 
     escape_project_url(project.master_url, url);
     snprintf(buf, len, "%s%s.xml", SCHED_OP_REPLY_BASE, url);
 }
 
 void get_master_filename(PROJECT& project, char* buf, int len) {
-    char url[1024];
+    char url[std::max(len,MAXPATHLEN)];
 
     escape_project_url(project.master_url, url);
     snprintf(buf, len, "%s%s.xml", MASTER_BASE, url);
 }
 
 void job_log_filename(PROJECT& project, char* buf, int len) {
-    char url[1024];
+    char url[std::max(len,MAXPATHLEN)];
 
     escape_project_url(project.master_url, url);
     snprintf(buf, len, "%s%s.txt", JOB_LOG_BASE, url);
@@ -217,7 +217,7 @@ int make_slot_dir(int slot) {
 // delete unused stuff in the slots/ directory
 //
 void delete_old_slot_dirs() {
-    char filename[1024], path[MAXPATHLEN];
+    char filename[MAXPATHLEN], path[MAXPATHLEN];
     DIRREF dirp;
     int retval;
 
