Program: 106015
Project: 106015
Buggy source:
private String extract(Account caller,Long templateId,String url,Long zoneId,String mode,Long eventId,boolean isISO){
  String desc=Upload.Type.TEMPLATE.toString();
  if (isISO) {
    desc=Upload.Type.ISO.toString();
  }
  eventId=eventId == null ? 0 : eventId;
  if (!_accountMgr.isRootAdmin(caller.getType()) && _disableExtraction) {
    throw new PermissionDeniedException("String_Node_Str");
  }
  VMTemplateVO template=_tmpltDao.findById(templateId);
  if (template == null || template.getRemoved() != null) {
    throw new InvalidParameterValueException("String_Node_Str" + desc + "String_Node_Str"+ templateId);
  }
  if (template.getTemplateType() == Storage.TemplateType.SYSTEM) {
    throw new InvalidParameterValueException("String_Node_Str" + desc + "String_Node_Str"+ template.getName()+ "String_Node_Str");
  }
 else   if (template.getTemplateType() == Storage.TemplateType.PERHOST) {
    throw new InvalidParameterValueException("String_Node_Str" + desc + "String_Node_Str"+ template.getName()+ "String_Node_Str");
  }
  if (isISO) {
    if (template.getFormat() != ImageFormat.ISO) {
      throw new InvalidParameterValueException("String_Node_Str");
    }
  }
 else {
    if (template.getFormat() == ImageFormat.ISO) {
      throw new InvalidParameterValueException("String_Node_Str");
    }
  }
  if (zoneId != null && _dcDao.findById(zoneId) == null) {
    throw new IllegalArgumentException("String_Node_Str");
  }
  if (!_accountMgr.isRootAdmin(caller.getType()) && !template.isExtractable()) {
    throw new InvalidParameterValueException("String_Node_Str" + templateId + "String_Node_Str");
  }
  _accountMgr.checkAccess(caller,AccessType.ModifyEntry,true,template);
  List<DataStore> ssStores=_dataStoreMgr.getImageStoresByScope(new ZoneScope(zoneId));
  TemplateDataStoreVO tmpltStoreRef=null;
  ImageStoreEntity tmpltStore=null;
  if (ssStores != null) {
    for (    DataStore store : ssStores) {
      tmpltStoreRef=_tmplStoreDao.findByStoreTemplate(store.getId(),templateId);
      if (tmpltStoreRef != null) {
        if (tmpltStoreRef.getDownloadState() == com.cloud.storage.VMTemplateStorageResourceAssoc.Status.DOWNLOADED) {
          tmpltStore=(ImageStoreEntity)store;
          break;
        }
      }
    }
  }
  if (tmpltStore == null) {
    throw new InvalidParameterValueException("String_Node_Str" + desc + "String_Node_Str");
  }
  _tmpltSvr.syncTemplateToRegionStore(templateId,tmpltStore);
  TemplateInfo templateObject=_tmplFactory.getTemplate(templateId,tmpltStore);
  return tmpltStore.createEntityExtractUrl(templateObject.getInstallPath(),template.getFormat(),templateObject);
}

Fixed version (ground truth):
private String extract(Account caller,Long templateId,String url,Long zoneId,String mode,Long eventId,boolean isISO){
  String desc=Upload.Type.TEMPLATE.toString();
  if (isISO) {
    desc=Upload.Type.ISO.toString();
  }
  eventId=(eventId == null ? 0 : eventId);
  if (!_accountMgr.isRootAdmin(caller.getType()) && _disableExtraction) {
    throw new PermissionDeniedException("String_Node_Str");
  }
  VMTemplateVO template=_tmpltDao.findById(templateId);
  if (template == null || template.getRemoved() != null) {
    throw new InvalidParameterValueException("String_Node_Str" + desc + "String_Node_Str"+ templateId);
  }
  if (template.getTemplateType() == Storage.TemplateType.SYSTEM) {
    throw new InvalidParameterValueException("String_Node_Str" + desc + "String_Node_Str"+ template.getName()+ "String_Node_Str");
  }
 else   if (template.getTemplateType() == Storage.TemplateType.PERHOST) {
    throw new InvalidParameterValueException("String_Node_Str" + desc + "String_Node_Str"+ template.getName()+ "String_Node_Str");
  }
  if (isISO) {
    if (template.getFormat() != ImageFormat.ISO) {
      throw new InvalidParameterValueException("String_Node_Str");
    }
  }
 else {
    if (template.getFormat() == ImageFormat.ISO) {
      throw new InvalidParameterValueException("String_Node_Str");
    }
  }
  if (zoneId != null && _dcDao.findById(zoneId) == null) {
    throw new IllegalArgumentException("String_Node_Str");
  }
  if (!_accountMgr.isRootAdmin(caller.getType()) && !template.isExtractable()) {
    throw new InvalidParameterValueException("String_Node_Str" + templateId + "String_Node_Str");
  }
  _accountMgr.checkAccess(caller,AccessType.ModifyEntry,true,template);
  List<DataStore> ssStores=_dataStoreMgr.getImageStoresByScope(new ZoneScope(zoneId));
  TemplateDataStoreVO tmpltStoreRef=null;
  ImageStoreEntity tmpltStore=null;
  if (ssStores != null) {
    for (    DataStore store : ssStores) {
      tmpltStoreRef=_tmplStoreDao.findByStoreTemplate(store.getId(),templateId);
      if (tmpltStoreRef != null) {
        if (tmpltStoreRef.getDownloadState() == com.cloud.storage.VMTemplateStorageResourceAssoc.Status.DOWNLOADED) {
          tmpltStore=(ImageStoreEntity)store;
          break;
        }
      }
    }
  }
  if (tmpltStore == null) {
    throw new InvalidParameterValueException("String_Node_Str" + desc + "String_Node_Str");
  }
  _tmpltSvr.syncTemplateToRegionStore(templateId,tmpltStore);
  TemplateInfo templateObject=_tmplFactory.getTemplate(templateId,tmpltStore);
  return tmpltStore.createEntityExtractUrl(templateObject.getInstallPath(),template.getFormat(),templateObject);
}