Changeset ddc3ef8d


Ignore:
Timestamp:
Apr 4, 2015 12:05:29 AM (6 years ago)
Author:
dev <dev@…>
Branches:
master
Children:
0c90162
Parents:
820b99e
Message:

Removed unnecessry buffering

File:
1 edited

Legend:

Unmodified
Added
Removed
  • router/java/src/net/i2p/data/i2np/I2NPMessageImpl.java

    r820b99e rddc3ef8d  
    200200        int size = (int)DataHelper.fromLong(data, cur, 2);
    201201        cur += 2;
    202         //Hash h = new Hash();
    203         byte hdata[] = new byte[CHECKSUM_LENGTH];
    204         System.arraycopy(data, cur, hdata, 0, CHECKSUM_LENGTH);
    205         cur += CHECKSUM_LENGTH;
    206         //h.setData(hdata);
    207202
    208203        if (cur + size > data.length || headerSize + size > maxLen)
    209             throw new I2NPMessageException("Payload is too short [" 
     204            throw new I2NPMessageException("Payload is too short ["
    210205                                           + "data.len=" + data.length
    211206                                           + "maxLen=" + maxLen
    212207                                           + " offset=" + offset
    213                                            + " cur=" + cur 
     208                                           + " cur=" + cur
    214209                                           + " wanted=" + size + "]: " + getClass().getSimpleName());
    215210
    216211        int sz = Math.min(size, maxLen - headerSize);
    217212        byte[] calc = SimpleByteCache.acquire(Hash.HASH_LENGTH);
    218         _context.sha().calculateHash(data, cur, sz, calc, 0);
    219         boolean eq = DataHelper.eq(hdata, 0, calc, 0, CHECKSUM_LENGTH);
     213       
     214        // Compare the checksum in data to the checksum of the data after the checksum
     215        _context.sha().calculateHash(data, cur + CHECKSUM_LENGTH, sz, calc, 0);
     216        boolean eq = DataHelper.eq(data, cur, calc, 0, CHECKSUM_LENGTH);
     217        cur += CHECKSUM_LENGTH;
     218
    220219        SimpleByteCache.release(calc);
    221220        if (!eq)
Note: See TracChangeset for help on using the changeset viewer.