Completes previous commit r1759, making redirect server string
dynamically allocated when used. git-svn-id: svn://svn.code.sf.net/p/rdesktop/code/rdesktop/trunk@1760 423420c4-83ab-492f-b58f-81f9feb106b5
This commit is contained in:
parent
a080b6750e
commit
e63a44acb1
@ -115,6 +115,7 @@ uint32 g_rdp5_performanceflags =
|
||||
/* Session Directory redirection */
|
||||
RD_BOOL g_redirect = False;
|
||||
char *g_redirect_server;
|
||||
uint32 g_redirect_server_len;
|
||||
char g_redirect_domain[16];
|
||||
char g_redirect_password[64];
|
||||
char *g_redirect_username;
|
||||
|
15
rdp.c
15
rdp.c
@ -65,6 +65,7 @@ extern RDPCOMP g_mppc_dict;
|
||||
/* Session Directory support */
|
||||
extern RD_BOOL g_redirect;
|
||||
extern char *g_redirect_server;
|
||||
extern uint32 g_redirect_server_len;
|
||||
extern char g_redirect_domain[16];
|
||||
extern char g_redirect_password[64];
|
||||
extern char *g_redirect_username;
|
||||
@ -1495,10 +1496,14 @@ process_redirect_pdu(STREAM s /*, uint32 * ext_disc_reason */ )
|
||||
if (g_redirect_flags & PDU_REDIRECT_HAS_IP)
|
||||
{
|
||||
/* read length of ip string */
|
||||
in_uint32_le(s, len);
|
||||
in_uint32_le(s, g_redirect_server_len);
|
||||
if (g_redirect_server)
|
||||
free(g_redirect_server);
|
||||
|
||||
g_redirect_server = xmalloc(g_redirect_server_len);
|
||||
|
||||
/* read ip string */
|
||||
rdp_in_unistr(s, g_redirect_server, sizeof(g_redirect_server), len);
|
||||
rdp_in_unistr(s, g_redirect_server, sizeof(g_redirect_server), g_redirect_server_len);
|
||||
}
|
||||
|
||||
if (g_redirect_flags & PDU_REDIRECT_HAS_LOAD_BALANCE_INFO)
|
||||
@ -1564,14 +1569,14 @@ process_redirect_pdu(STREAM s /*, uint32 * ext_disc_reason */ )
|
||||
if (g_redirect_flags & PDU_REDIRECT_HAS_TARGET_FQDN)
|
||||
{
|
||||
/* read length of fqdn string */
|
||||
in_uint32_le(s, len);
|
||||
in_uint32_le(s, g_redirect_server_len);
|
||||
if (g_redirect_server)
|
||||
free(g_redirect_server);
|
||||
|
||||
g_redirect_server = xmalloc(len);
|
||||
g_redirect_server = xmalloc(g_redirect_server_len);
|
||||
|
||||
/* read fqdn string */
|
||||
rdp_in_unistr(s, g_redirect_server, sizeof(g_redirect_server), len);
|
||||
rdp_in_unistr(s, g_redirect_server, sizeof(g_redirect_server), g_redirect_server_len);
|
||||
}
|
||||
|
||||
if (g_redirect_flags & PDU_REDIRECT_HAS_TARGET_NETBIOS)
|
||||
|
Loading…
Reference in New Issue
Block a user