Handle empty unicode strings from server
This commit is contained in:
parent
f19c21d7d1
commit
77758c3c18
12
rdp.c
12
rdp.c
@ -310,6 +310,17 @@ rdp_in_unistr(STREAM s, int in_len, char **string, uint32 * str_size)
|
|||||||
abort();
|
abort();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Corner case. We still want to return a null terminated string... */
|
||||||
|
if (in_len == 0) {
|
||||||
|
if (*string == NULL)
|
||||||
|
{
|
||||||
|
*string = xmalloc(1);
|
||||||
|
}
|
||||||
|
**string = '\0';
|
||||||
|
*str_size = 0;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
if (!s_check_rem(s, in_len))
|
if (!s_check_rem(s, in_len))
|
||||||
{
|
{
|
||||||
rdp_protocol_error("consume of unicode data from stream would overrun", &packet);
|
rdp_protocol_error("consume of unicode data from stream would overrun", &packet);
|
||||||
@ -358,6 +369,7 @@ rdp_in_unistr(STREAM s, int in_len, char **string, uint32 * str_size)
|
|||||||
abort();
|
abort();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Always force the last byte to be a null */
|
||||||
*pout = 0;
|
*pout = 0;
|
||||||
|
|
||||||
if (*string)
|
if (*string)
|
||||||
|
Loading…
Reference in New Issue
Block a user