@@ -251,12 +251,15 @@ class Login7Payload {
251
251
}
252
252
253
253
// (ibUnused / ibExtension): 2-byte
254
- const extensionOffsetHeaderOffset = offset ;
255
- offset = fixedData . writeUInt16LE ( 0 , offset ) ;
256
-
254
+ offset = fixedData . writeUInt16LE ( dataOffset , offset ) ;
257
255
258
256
// (cchUnused / cbExtension): 2-byte
257
+ const extensions = this . buildFeatureExt ( ) ;
259
258
offset = fixedData . writeUInt16LE ( 4 , offset ) ;
259
+ const extensionOffset = Buffer . alloc ( 4 ) ;
260
+ extensionOffset . writeUInt32LE ( dataOffset += 4 , 0 ) ;
261
+ dataOffset += extensions . length ;
262
+ buffers . push ( extensionOffset , extensions ) ;
260
263
261
264
// ibCltIntName: 2-byte
262
265
offset = fixedData . writeUInt16LE ( dataOffset , offset ) ;
@@ -362,13 +365,6 @@ class Login7Payload {
362
365
fixedData . writeUInt32LE ( 0 , offset ) ;
363
366
}
364
367
365
- fixedData . writeUInt16LE ( dataOffset , extensionOffsetHeaderOffset ) ;
366
-
367
- const extensions = this . buildFeatureExt ( ) ;
368
- const extensionOffset = Buffer . alloc ( 4 ) ;
369
- extensionOffset . writeUInt32LE ( dataOffset + 4 , 0 ) ;
370
- buffers . push ( extensionOffset , extensions ) ;
371
-
372
368
const data = Buffer . concat ( buffers ) ;
373
369
data . writeUInt32LE ( data . length , 0 ) ;
374
370
return data ;
0 commit comments