static const char zeroes[4] = { 0,0,0,0 };
static const char zeroes[4] = { 0,0,0,0 };
memcpy(realauthdata, pr->auth->realdata, realauthlen);
} else if (pr->auth->realproto == X11_XDM &&
pr->auth->reallen == 16 &&
memcpy(realauthdata, pr->auth->realdata, realauthlen);
} else if (pr->auth->realproto == X11_XDM &&
pr->auth->reallen == 16 &&
- realauthlen = 24;
- memset(realauthdata, 0, 24);
+ realauthlen = (buflen+12+7) & ~7;
+ assert(realauthlen <= lenof(realauthdata));
+ memset(realauthdata, 0, realauthlen);
- PUT_32BIT_MSB_FIRST(realauthdata+8, ip);
- PUT_16BIT_MSB_FIRST(realauthdata+12, port);
+ memcpy(realauthdata+8, buf, buflen);