summaryrefslogtreecommitdiff
path: root/daemon/auth.c
diff options
context:
space:
mode:
Diffstat (limited to 'daemon/auth.c')
-rw-r--r--daemon/auth.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/daemon/auth.c b/daemon/auth.c
index dcbe667c..f6cdaa99 100644
--- a/daemon/auth.c
+++ b/daemon/auth.c
@@ -67,8 +67,10 @@ add_auth_entry (GdmDisplay *d, FILE *af,
xa->family = family;
xa->address = malloc (addrlen);
- if (xa->address == NULL)
+ if (xa->address == NULL) {
+ free (xa);
return FALSE;
+ }
memcpy (xa->address, addr, addrlen);
xa->address_length = addrlen;
xa->number = strdup (dispnum);
@@ -76,8 +78,13 @@ add_auth_entry (GdmDisplay *d, FILE *af,
xa->name = strdup ("MIT-MAGIC-COOKIE-1");
xa->name_length = strlen ("MIT-MAGIC-COOKIE-1");
xa->data = malloc (16);
- if (xa->data == NULL)
+ if (xa->data == NULL) {
+ free (xa->number);
+ free (xa->name);
+ free (xa->address);
+ free (xa);
return FALSE;
+ }
memcpy (xa->data, d->bcookie, 16);
xa->data_length = 16;