Program: 77743
Project: 77743
Buggy source:
protected void prepareParameters() throws ReportServiceException, RemoteException {
  __bean=context.getBean();
  __docName=__getReportDocument();
  __checkDocumentExists();
  InputOptions getPageCountOptions=new InputOptions();
  getPageCountOptions.setOption(InputOptions.OPT_LOCALE,__bean.getLocale());
  getPageCountOptions.setOption(InputOptions.OPT_RTL,new Boolean(__bean.isRtl()));
  getPageCountOptions.setOption(InputOptions.OPT_REQUEST,context.getRequest());
  OutputOptions outputOptions=new OutputOptions();
  InputOptions options=new InputOptions();
  __totalPageNumber=getReportService().getPageCount(__docName,getPageCountOptions,outputOptions);
  Boolean isCompleted=(Boolean)outputOptions.getOption(OutputOptions.OPT_REPORT_GENERATION_COMPLETED);
  if (isCompleted != null) {
    __isCompleted=isCompleted.booleanValue();
  }
  __bookmark=getBookmark(operation.getOprand(),__bean);
  if (isToc(operation.getOprand(),__bean)) {
    __bookmark=(getReportService()).findTocByName(__docName,__bookmark,options);
  }
  __pageNumber=getPageNumber(context.getRequest(),operation.getOprand(),__docName);
  if (!isValidPageNumber(context.getRequest(),__pageNumber,__docName)) {
    options.setOption(InputOptions.OPT_REQUEST,context.getRequest());
    __pageNumber=getReportService().getPageNumberByBookmark(__docName,__bookmark,options);
    if (!isValidPageNumber(context.getRequest(),__pageNumber,__docName)) {
      AxisFault fault=new AxisFault();
      fault.setFaultReason(BirtResources.getFormattedString(ResourceConstants.ACTION_EXCEPTION_INVALID_BOOKMARK,new String[]{__bookmark}));
      throw fault;
    }
    __useBookmark=true;
  }
  if (!isValidPageNumber(context.getRequest(),__pageNumber,__docName)) {
    AxisFault fault=new AxisFault();
    fault.setFaultReason(BirtResources.getString(ResourceConstants.ACTION_EXCEPTION_INVALID_PAGE_NUMBER));
    throw fault;
  }
  __svgFlag=getSVGFlag(operation.getOprand());
}

Fixed version (ground truth):
protected void prepareParameters() throws ReportServiceException, RemoteException {
  __bean=context.getBean();
  __docName=__getReportDocument();
  __checkDocumentExists();
  InputOptions getPageCountOptions=new InputOptions();
  getPageCountOptions.setOption(InputOptions.OPT_LOCALE,__bean.getLocale());
  getPageCountOptions.setOption(InputOptions.OPT_RTL,new Boolean(__bean.isRtl()));
  getPageCountOptions.setOption(InputOptions.OPT_REQUEST,context.getRequest());
  OutputOptions outputOptions=new OutputOptions();
  InputOptions options=new InputOptions();
  __totalPageNumber=getReportService().getPageCount(__docName,getPageCountOptions,outputOptions);
  Boolean isCompleted=(Boolean)outputOptions.getOption(OutputOptions.OPT_REPORT_GENERATION_COMPLETED);
  if (isCompleted != null) {
    __isCompleted=isCompleted.booleanValue();
  }
  __pageNumber=getPageNumber(context.getRequest(),operation.getOprand(),__docName);
  if (!isValidPageNumber(context.getRequest(),__pageNumber,__docName)) {
    __bookmark=getBookmark(operation.getOprand(),__bean);
    options.setOption(InputOptions.OPT_REQUEST,context.getRequest());
    __pageNumber=getReportService().getPageNumberByBookmark(__docName,__bookmark,options);
    if (!isValidPageNumber(context.getRequest(),__pageNumber,__docName)) {
      __bookmark=(getReportService()).findTocByName(__docName,__bookmark,options);
      __pageNumber=getReportService().getPageNumberByBookmark(__docName,__bookmark,options);
      if (!isValidPageNumber(context.getRequest(),__pageNumber,__docName)) {
        AxisFault fault=new AxisFault();
        fault.setFaultReason(BirtResources.getFormattedString(ResourceConstants.ACTION_EXCEPTION_INVALID_BOOKMARK,new String[]{__bookmark}));
        throw fault;
      }
      __useBookmark=true;
    }
  }
  if (!isValidPageNumber(context.getRequest(),__pageNumber,__docName)) {
    AxisFault fault=new AxisFault();
    fault.setFaultReason(BirtResources.getString(ResourceConstants.ACTION_EXCEPTION_INVALID_PAGE_NUMBER));
    throw fault;
  }
  __svgFlag=getSVGFlag(operation.getOprand());
}