mirror of
https://github.com/ProjectSWGCore/pswgcommon.git
synced 2026-01-15 23:04:19 -05:00
Fixed a couple of image design packets having too few bytes allocated, causing a buffer overflow
This commit is contained in:
@@ -61,7 +61,18 @@ class ImageDesignChangeMessage : ObjectController {
|
||||
}
|
||||
|
||||
override fun encode(): NetBuffer {
|
||||
val data = NetBuffer.allocate(HEADER_LENGTH + 26)
|
||||
val booleanBytes = 3
|
||||
var morphParametersSize = Integer.BYTES
|
||||
for (morphParameter in morphParameters) {
|
||||
morphParametersSize += morphParameter.length
|
||||
}
|
||||
var indexParametersSize = Integer.BYTES
|
||||
for (indexParameter in indexParameters) {
|
||||
indexParametersSize += indexParameter.length
|
||||
}
|
||||
val holoemoteLength = 2 + holoemote.length
|
||||
val hairLength = 2 + hair.length
|
||||
val data = NetBuffer.allocate(HEADER_LENGTH + Long.SIZE_BYTES * 3 + booleanBytes + Integer.BYTES * 9 + hairLength + hairCustomization.length + morphParametersSize + indexParametersSize + holoemoteLength)
|
||||
encodeHeader(data)
|
||||
data.addLong(designerId)
|
||||
data.addLong(clientId)
|
||||
|
||||
@@ -61,7 +61,18 @@ class ImageDesignEndMessage : ObjectController {
|
||||
}
|
||||
|
||||
override fun encode(): NetBuffer {
|
||||
val data = NetBuffer.allocate(HEADER_LENGTH + 26)
|
||||
val booleanBytes = 3
|
||||
var morphParametersSize = Integer.BYTES
|
||||
for (morphParameter in morphParameters) {
|
||||
morphParametersSize += morphParameter.length
|
||||
}
|
||||
var indexParametersSize = Integer.BYTES
|
||||
for (indexParameter in indexParameters) {
|
||||
indexParametersSize += indexParameter.length
|
||||
}
|
||||
val holoemoteLength = 2 + holoemote.length
|
||||
val hairLength = 2 + hair.length
|
||||
val data = NetBuffer.allocate(HEADER_LENGTH + Long.SIZE_BYTES * 3 + booleanBytes + Integer.BYTES * 9 + hairLength + hairCustomization.length + morphParametersSize + indexParametersSize + holoemoteLength)
|
||||
encodeHeader(data)
|
||||
data.addLong(designerId)
|
||||
data.addLong(clientId)
|
||||
|
||||
Reference in New Issue
Block a user