Prevent setting LastLedgerSequence of NaN. Fixes a potential ambiguous serialization error

This commit is contained in:
wltsmrz
2014-09-04 19:50:56 -07:00
parent 8f7e365b03
commit 8f7cdc6e4f
2 changed files with 5 additions and 1 deletions

View File

@@ -480,7 +480,7 @@ Transaction.prototype.clientID = function(id) {
};
Transaction.prototype.lastLedger = function(sequence) {
if (typeof sequence === 'number') {
if (typeof sequence === 'number' && isFinite(sequence)) {
this._setLastLedger = true;
this.tx_json.LastLedgerSequence = sequence;
}

View File

@@ -811,6 +811,10 @@ describe('Transaction', function() {
assert.strictEqual(transaction.tx_json.LastLedgerSequence, void(0));
assert(!transaction._setLastLedger);
transaction.lastLedger(NaN);
assert.strictEqual(transaction.tx_json.LastLedgerSequence, void(0));
assert(!transaction._setLastLedger);
transaction.lastLedger(12);
assert.strictEqual(transaction.tx_json.LastLedgerSequence, 12);
assert(transaction._setLastLedger);