2
0
mirror of https://gitlab.isc.org/isc-projects/kea synced 2025-08-30 05:27:55 +00:00

unsigned char arrays interpreted as strings are still null-terminated in c++

git-svn-id: svn://bind10.isc.org/svn/bind10/branches/jelte-datadef@298 e5f2f494-b856-4b98-b285-d166d9295462
This commit is contained in:
Jelte Jansen 2009-11-19 11:52:44 +00:00
parent 3a19a908ae
commit b6571be9e4

View File

@ -735,17 +735,19 @@ encode_length(unsigned int length, unsigned char type)
type |= ITEM_LENGTH_8;
ss << type << val;
} else if (length <= 0x0000ffff) {
unsigned char val[2];
unsigned char val[3];
val[0] = (length & 0x0000ff00) >> 8;
val[1] = (length & 0x000000ff);
val[2] = 0;
type |= ITEM_LENGTH_16;
ss << type << val;
} else {
unsigned char val[4];
unsigned char val[5];
val[0] = (length & 0xff000000) >> 24;
val[1] = (length & 0x00ff0000) >> 16;
val[2] = (length & 0x0000ff00) >> 8;
val[3] = (length & 0x000000ff);
val[4] = 0;
type |= ITEM_LENGTH_32;
ss << type << val;
}