Program: 57762
Project: 57762
Buggy source:
/** 
 * Converts a purchase to our transaction object. 
 */
Transaction transaction(SKPaymentTransaction t){
  SKPayment payment=t.getPayment();
  String productIdentifier=payment.getProductIdentifier();
  SKProduct product=getProductByStoreIdentifier(productIdentifier);
  if (product == null) {
    System.err.println("String_Node_Str" + productIdentifier);
    return null;
  }
  Transaction transaction=new Transaction();
  transaction.setIdentifier(config.getOfferForStore(PurchaseManagerConfig.STORE_NAME_IOS_APPLE,payment.getProductIdentifier()).getIdentifier());
  transaction.setStoreName(PurchaseManagerConfig.STORE_NAME_IOS_APPLE);
  transaction.setOrderId(t.getTransactionIdentifier());
  transaction.setPurchaseTime(t.getTransactionDate().toDate());
  transaction.setPurchaseText("String_Node_Str" + product.getLocalizedTitle());
  transaction.setPurchaseCost((int)Math.round(product.getPrice().doubleValue() * 100));
  transaction.setPurchaseCostCurrency(product.getPriceLocale().getCurrencyCode());
  transaction.setReversalTime(null);
  transaction.setReversalText(null);
  if (payment.getRequestData() != null) {
    final String transactionData;
    if (Foundation.getMajorSystemVersion() >= 7) {
      transactionData=payment.getRequestData().toBase64EncodedString(NSDataBase64EncodingOptions.None);
    }
 else {
      transactionData=Base64.encode(payment.getRequestData().getBytes());
    }
    transaction.setTransactionData(transactionData);
  }
 else {
    transaction.setTransactionData(null);
  }
  String transactionDataSignature;
  try {
    NSData transactionReceipt=t.getTransactionReceipt();
    transactionDataSignature=transactionReceipt.toBase64EncodedString(NSDataBase64EncodingOptions.None);
  }
 catch (  Throwable e) {
    log(LOGTYPELOG,"String_Node_Str",e);
    transactionDataSignature=null;
  }
  transaction.setTransactionDataSignature(transactionDataSignature);
  return transaction;
}

Fixed version (ground truth):
/** 
 * Converts a purchase to our transaction object. 
 */
Transaction transaction(SKPaymentTransaction t){
  SKPayment payment=t.getPayment();
  String productIdentifier=payment.getProductIdentifier();
  SKProduct product=getProductByStoreIdentifier(productIdentifier);
  if (product == null) {
    System.err.println("String_Node_Str" + productIdentifier);
  }
  Transaction transaction=new Transaction();
  transaction.setIdentifier(config.getOfferForStore(PurchaseManagerConfig.STORE_NAME_IOS_APPLE,productIdentifier).getIdentifier());
  transaction.setStoreName(PurchaseManagerConfig.STORE_NAME_IOS_APPLE);
  transaction.setOrderId(getOriginalTxID(t));
  transaction.setPurchaseTime(t.getTransactionDate().toDate());
  if (product != null) {
    transaction.setPurchaseText("String_Node_Str" + product.getLocalizedTitle());
    transaction.setPurchaseCost((int)Math.round(product.getPrice().doubleValue() * 100));
    transaction.setPurchaseCostCurrency(product.getPriceLocale().getCurrencyCode());
  }
 else {
    transaction.setPurchaseText("String_Node_Str" + productIdentifier);
    transaction.setPurchaseCost(0);
    transaction.setPurchaseCostCurrency(null);
  }
  transaction.setReversalTime(null);
  transaction.setReversalText(null);
  if (payment.getRequestData() != null) {
    final String transactionData;
    if (Foundation.getMajorSystemVersion() >= 7) {
      transactionData=payment.getRequestData().toBase64EncodedString(NSDataBase64EncodingOptions.None);
    }
 else {
      transactionData=Base64.encode(payment.getRequestData().getBytes());
    }
    transaction.setTransactionData(transactionData);
  }
 else {
    transaction.setTransactionData(null);
  }
  String transactionDataSignature;
  try {
    NSData transactionReceipt=t.getTransactionReceipt();
    transactionDataSignature=transactionReceipt.toBase64EncodedString(NSDataBase64EncodingOptions.None);
  }
 catch (  Throwable e) {
    log(LOGTYPELOG,"String_Node_Str",e);
    transactionDataSignature=null;
  }
  transaction.setTransactionDataSignature(transactionDataSignature);
  return transaction;
}