Skip to content

Commit c379f14

Browse files
committed
devp2p: fixed a peer data processing error staying in an endless while loop on retrieval of malformed data
1 parent df57cc0 commit c379f14

File tree

1 file changed

+6
-6
lines changed

1 file changed

+6
-6
lines changed

packages/devp2p/src/rlpx/peer.ts

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -512,8 +512,8 @@ export class Peer extends EventEmitter {
512512
_onSocketData(data: Buffer) {
513513
if (this._closed) return
514514
this._socketData.append(data)
515-
while (this._socketData.length >= this._nextPacketSize) {
516-
try {
515+
try {
516+
while (this._socketData.length >= this._nextPacketSize) {
517517
switch (this._state) {
518518
case 'Auth':
519519
this._handleAuth()
@@ -528,11 +528,11 @@ export class Peer extends EventEmitter {
528528
this._handleBody()
529529
break
530530
}
531-
} catch (err) {
532-
this.disconnect(DISCONNECT_REASONS.SUBPROTOCOL_ERROR)
533-
debug(`Error on peer socket data handling: ${err}`)
534-
this.emit('error', err)
535531
}
532+
} catch (err) {
533+
this.disconnect(DISCONNECT_REASONS.SUBPROTOCOL_ERROR)
534+
debug(`Error on peer socket data handling: ${err}`)
535+
this.emit('error', err)
536536
}
537537
}
538538

0 commit comments

Comments
 (0)