Skip to content

Commit 2ee663f

Browse files
committed
Thanks to Eyal Itkin from Check Point Software Technologies.
1 parent ef0c7e8 commit 2ee663f

File tree

1 file changed

+13
-11
lines changed

1 file changed

+13
-11
lines changed

Diff for: winpr/libwinpr/sspi/NTLM/ntlm_message.c

+13-11
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@ static const char* const NTLM_NEGOTIATE_STRINGS[] =
7474
"NTLMSSP_NEGOTIATE_UNICODE"
7575
};
7676

77-
void ntlm_print_negotiate_flags(UINT32 flags)
77+
static void ntlm_print_negotiate_flags(UINT32 flags)
7878
{
7979
int i;
8080
const char* str;
@@ -90,7 +90,7 @@ void ntlm_print_negotiate_flags(UINT32 flags)
9090
}
9191
}
9292

93-
int ntlm_read_message_header(wStream* s, NTLM_MESSAGE_HEADER* header)
93+
static int ntlm_read_message_header(wStream* s, NTLM_MESSAGE_HEADER* header)
9494
{
9595
if (Stream_GetRemainingLength(s) < 12)
9696
return -1;
@@ -104,19 +104,19 @@ int ntlm_read_message_header(wStream* s, NTLM_MESSAGE_HEADER* header)
104104
return 1;
105105
}
106106

107-
void ntlm_write_message_header(wStream* s, NTLM_MESSAGE_HEADER* header)
107+
static void ntlm_write_message_header(wStream* s, NTLM_MESSAGE_HEADER* header)
108108
{
109109
Stream_Write(s, header->Signature, sizeof(NTLM_SIGNATURE));
110110
Stream_Write_UINT32(s, header->MessageType);
111111
}
112112

113-
void ntlm_populate_message_header(NTLM_MESSAGE_HEADER* header, UINT32 MessageType)
113+
static void ntlm_populate_message_header(NTLM_MESSAGE_HEADER* header, UINT32 MessageType)
114114
{
115115
CopyMemory(header->Signature, NTLM_SIGNATURE, sizeof(NTLM_SIGNATURE));
116116
header->MessageType = MessageType;
117117
}
118118

119-
int ntlm_read_message_fields(wStream* s, NTLM_MESSAGE_FIELDS* fields)
119+
static int ntlm_read_message_fields(wStream* s, NTLM_MESSAGE_FIELDS* fields)
120120
{
121121
if (Stream_GetRemainingLength(s) < 8)
122122
return -1;
@@ -127,7 +127,7 @@ int ntlm_read_message_fields(wStream* s, NTLM_MESSAGE_FIELDS* fields)
127127
return 1;
128128
}
129129

130-
void ntlm_write_message_fields(wStream* s, NTLM_MESSAGE_FIELDS* fields)
130+
static void ntlm_write_message_fields(wStream* s, NTLM_MESSAGE_FIELDS* fields)
131131
{
132132
if (fields->MaxLen < 1)
133133
fields->MaxLen = fields->Len;
@@ -137,11 +137,13 @@ void ntlm_write_message_fields(wStream* s, NTLM_MESSAGE_FIELDS* fields)
137137
Stream_Write_UINT32(s, fields->BufferOffset); /* BufferOffset (4 bytes) */
138138
}
139139

140-
int ntlm_read_message_fields_buffer(wStream* s, NTLM_MESSAGE_FIELDS* fields)
140+
static int ntlm_read_message_fields_buffer(wStream* s, NTLM_MESSAGE_FIELDS* fields)
141141
{
142142
if (fields->Len > 0)
143143
{
144-
if ((fields->BufferOffset + fields->Len) > Stream_Length(s))
144+
const UINT64 offset = (UINT64)fields->BufferOffset + (UINT64)fields->Len;
145+
146+
if (offset > Stream_Length(s))
145147
return -1;
146148

147149
fields->Buffer = (PBYTE) malloc(fields->Len);
@@ -156,7 +158,7 @@ int ntlm_read_message_fields_buffer(wStream* s, NTLM_MESSAGE_FIELDS* fields)
156158
return 1;
157159
}
158160

159-
void ntlm_write_message_fields_buffer(wStream* s, NTLM_MESSAGE_FIELDS* fields)
161+
static void ntlm_write_message_fields_buffer(wStream* s, NTLM_MESSAGE_FIELDS* fields)
160162
{
161163
if (fields->Len > 0)
162164
{
@@ -165,7 +167,7 @@ void ntlm_write_message_fields_buffer(wStream* s, NTLM_MESSAGE_FIELDS* fields)
165167
}
166168
}
167169

168-
void ntlm_free_message_fields_buffer(NTLM_MESSAGE_FIELDS* fields)
170+
static void ntlm_free_message_fields_buffer(NTLM_MESSAGE_FIELDS* fields)
169171
{
170172
if (fields)
171173
{
@@ -180,7 +182,7 @@ void ntlm_free_message_fields_buffer(NTLM_MESSAGE_FIELDS* fields)
180182
}
181183
}
182184

183-
void ntlm_print_message_fields(NTLM_MESSAGE_FIELDS* fields, const char* name)
185+
static void ntlm_print_message_fields(NTLM_MESSAGE_FIELDS* fields, const char* name)
184186
{
185187
WLog_DBG(TAG, "%s (Len: %"PRIu16" MaxLen: %"PRIu16" BufferOffset: %"PRIu32")",
186188
name, fields->Len, fields->MaxLen, fields->BufferOffset);

0 commit comments

Comments
 (0)