summaryrefslogtreecommitdiff
path: root/xc/lib/Xdmcp/RA16.c
diff options
context:
space:
mode:
Diffstat (limited to 'xc/lib/Xdmcp/RA16.c')
-rw-r--r--xc/lib/Xdmcp/RA16.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/xc/lib/Xdmcp/RA16.c b/xc/lib/Xdmcp/RA16.c
index 642b70dec..76fafa6bb 100644
--- a/xc/lib/Xdmcp/RA16.c
+++ b/xc/lib/Xdmcp/RA16.c
@@ -1,5 +1,5 @@
/*
- * $TOG: RA16.c /main/7 1998/06/25 16:26:16 kaleb $
+ * $Xorg: RA16.c,v 1.4 2000/08/17 19:45:48 cpqbld Exp $
*
*
Copyright 1989, 1998 The Open Group
@@ -35,8 +35,14 @@ XdmcpReadARRAY16 (buffer, array)
{
int i;
- if (!XdmcpReadCARD8 (buffer, &array->length))
+ if (!XdmcpReadCARD8 (buffer, &array->length)) {
+
+ /* Must set array->data to NULL to guarantee safe call of
+ * XdmcpDisposeARRAY*(array) (which calls Xfree(array->data));
+ * see defect 7329 */
+ array->data = 0;
return FALSE;
+ }
if (!array->length)
{
array->data = NULL;