Skip to content

Commit

Permalink
Fixed a problem that connection from Socket.IO Client v2 failed.
Browse files Browse the repository at this point in the history
The cause is an error in the skip range of the index of the frame.
  • Loading branch information
penguinlab committed Nov 28, 2024
1 parent 49ed3b7 commit db0124f
Showing 1 changed file with 10 additions and 15 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -307,23 +307,18 @@ private String readNamespace(ByteBuf frame, final boolean defaultToAll) {
*/
ByteBuf buffer = frame.slice();

int namespaceFieldEndIndex = buffer.bytesBefore((byte) ',');
namespaceFieldEndIndex = namespaceFieldEndIndex > 0 ? namespaceFieldEndIndex : buffer.readableBytes();

int endIndex = buffer.bytesBefore((byte) '?');
if (endIndex > 0) {
String namespace = readString(buffer, endIndex);
if(namespace.startsWith("/")) {
frame.skipBytes(endIndex + 1);
return namespace;
}
}
endIndex = buffer.bytesBefore((byte) ',');
if (endIndex > 0) {
String namespace = readString(buffer, endIndex);
if(namespace.startsWith("/")) {
frame.skipBytes(endIndex + 1);
return namespace;
}
int namespaceEndIndex = buffer.bytesBefore((byte) '?');
namespaceEndIndex = namespaceEndIndex > 0 ? namespaceEndIndex : namespaceFieldEndIndex;

String namespace = readString(buffer, namespaceEndIndex);
if (namespace.startsWith("/")) {
frame.skipBytes(namespaceFieldEndIndex + 1);
return namespace;
}

if (defaultToAll) {
// skip this frame
frame.skipBytes(frame.readableBytes());
Expand Down

0 comments on commit db0124f

Please sign in to comment.