Program: 22
Project: 22
Buggy source:
/** 
 * Loads the list of uploaded files in the context if there are any uploaded files.
 * @param uploadMaxSize Maximum size of the uploaded files.
 * @param uploadSizeThreashold Threashold over which the file data should be stored on disk, and not in memory.
 * @param tempdir Temporary directory to store the uploaded files that are not kept in memory.
 * @param context Context of the request.
 * @throws XWikiException if the request could not be parsed, or the maximum file size was reached.
 * @see FileUploadPluginApi#loadFileList(long,int,String)
 */
public void loadFileList(long uploadMaxSize,int uploadSizeThreashold,String tempdir,XWikiContext context) throws XWikiException {
  LOGGER.debug("String_Node_Str");
  if (context.get(FILE_LIST_KEY) != null) {
    LOGGER.debug("String_Node_Str");
    return;
  }
  DiskFileItemFactory factory=new DiskFileItemFactory(){
    @Override public FileItem createItem(    String fieldName,    String contentType,    boolean isFormField,    String fileName){
      try {
        final DiskFileItem item=(DiskFileItem)super.createItem(fieldName,contentType,isFormField,fileName);
        item.getOutputStream();
        item.getStoreLocation().deleteOnExit();
        return item;
      }
 catch (      IOException e) {
        String path=System.getProperty("String_Node_Str");
        if (super.getRepository() != null) {
          path=super.getRepository().getPath();
        }
        throw new RuntimeException("String_Node_Str" + "String_Node_Str" + path + "String_Node_Str");
      }
    }
  }
;
  factory.setSizeThreshold(uploadSizeThreashold);
  if (tempdir != null) {
    File tempdirFile=new File(tempdir);
    if (tempdirFile.mkdirs() && tempdirFile.canWrite()) {
      factory.setRepository(tempdirFile);
    }
  }
  FileUpload fileupload=new ServletFileUpload(factory);
  RequestContext reqContext=new ServletRequestContext(context.getRequest().getHttpServletRequest());
  fileupload.setSizeMax(uploadMaxSize);
  try {
    @SuppressWarnings("String_Node_Str") List<FileItem> list=fileupload.parseRequest(reqContext);
    if (list.size() > 0) {
      LOGGER.info("String_Node_Str" + list.size() + "String_Node_Str");
    }
    context.put(FILE_LIST_KEY,list);
  }
 catch (  FileUploadBase.SizeLimitExceededException e) {
    throw new XWikiException(XWikiException.MODULE_XWIKI_APP,XWikiException.ERROR_XWIKI_APP_FILE_EXCEPTION_MAXSIZE,"String_Node_Str");
  }
catch (  Exception e) {
    throw new XWikiException(XWikiException.MODULE_XWIKI_APP,XWikiException.ERROR_XWIKI_APP_UPLOAD_PARSE_EXCEPTION,"String_Node_Str",e);
  }
}

Fixed version (ground truth):
/** 
 * Loads the list of uploaded files in the context if there are any uploaded files.
 * @param uploadMaxSize Maximum size of the uploaded files.
 * @param uploadSizeThreashold Threashold over which the file data should be stored on disk, and not in memory.
 * @param tempdir Temporary directory to store the uploaded files that are not kept in memory.
 * @param context Context of the request.
 * @throws XWikiException if the request could not be parsed, or the maximum file size was reached.
 * @see FileUploadPluginApi#loadFileList(long,int,String)
 */
public void loadFileList(long uploadMaxSize,int uploadSizeThreashold,String tempdir,XWikiContext context) throws XWikiException {
  LOGGER.debug("String_Node_Str");
  if (context.get(FILE_LIST_KEY) != null) {
    LOGGER.debug("String_Node_Str");
    return;
  }
  DiskFileItemFactory factory=new DiskFileItemFactory(){
    public FileItem createItem(    String fieldName,    String contentType,    boolean isFormField,    String fileName){
      try {
        final DiskFileItem item=(DiskFileItem)super.createItem(fieldName,contentType,isFormField,fileName);
        item.getOutputStream();
        item.getStoreLocation().deleteOnExit();
        return item;
      }
 catch (      IOException e) {
        String path=System.getProperty("String_Node_Str");
        if (super.getRepository() != null) {
          path=super.getRepository().getPath();
        }
        throw new RuntimeException("String_Node_Str" + "String_Node_Str" + path + "String_Node_Str");
      }
    }
  }
;
  factory.setSizeThreshold(uploadSizeThreashold);
  if (tempdir != null) {
    File tempdirFile=new File(tempdir);
    if (tempdirFile.mkdirs() && tempdirFile.canWrite()) {
      factory.setRepository(tempdirFile);
    }
  }
  FileUpload fileupload=new ServletFileUpload(factory);
  RequestContext reqContext=new ServletRequestContext(context.getRequest().getHttpServletRequest());
  fileupload.setSizeMax(uploadMaxSize);
  try {
    @SuppressWarnings("String_Node_Str") List<FileItem> list=fileupload.parseRequest(reqContext);
    if (list.size() > 0) {
      LOGGER.info("String_Node_Str" + list.size() + "String_Node_Str");
    }
    context.put(FILE_LIST_KEY,list);
  }
 catch (  FileUploadBase.SizeLimitExceededException e) {
    throw new XWikiException(XWikiException.MODULE_XWIKI_APP,XWikiException.ERROR_XWIKI_APP_FILE_EXCEPTION_MAXSIZE,"String_Node_Str");
  }
catch (  Exception e) {
    throw new XWikiException(XWikiException.MODULE_XWIKI_APP,XWikiException.ERROR_XWIKI_APP_UPLOAD_PARSE_EXCEPTION,"String_Node_Str",e);
  }
}