Mercurial > pidgin.yaz
view libpurple/protocols/zephyr/ZSendNot.c @ 24963:36897ddd3e08
This should prevent the crash in #8109 by stopping an invalid message from
getting in the queue. There is still a problem farther up from here in that
an invalid message shouldn't get this far - hopefully this will help track it
down by providing a message at the time the issue happens instead of crashing
later. Fixes #8109.
author | Daniel Atallah <daniel.atallah@gmail.com> |
---|---|
date | Thu, 15 Jan 2009 03:54:58 +0000 |
parents | 97c40983e5f7 |
children | a8cc50c2279f |
line wrap: on
line source
/* This file is part of the Project Athena Zephyr Notification System. * It contains source for the ZSendNotice function. * * Created by: Robert French * * Copyright (c) 1987 by the Massachusetts Institute of Technology. * For copying and distribution information, see the file * "mit-copyright.h". */ #include "internal.h" Code_t ZSendNotice(notice, cert_routine) ZNotice_t *notice; Z_AuthProc cert_routine; { return(ZSrvSendNotice(notice, cert_routine, Z_XmitFragment)); } Code_t ZSrvSendNotice(notice, cert_routine, send_routine) ZNotice_t *notice; Z_AuthProc cert_routine; Code_t (*send_routine)(); { Code_t retval; ZNotice_t newnotice; char *buffer; int len; if ((retval = ZFormatNotice(notice, &buffer, &len, cert_routine)) != ZERR_NONE) return (retval); if ((retval = ZParseNotice(buffer, len, &newnotice)) != ZERR_NONE) return (retval); retval = Z_SendFragmentedNotice(&newnotice, len, cert_routine, send_routine); free(buffer); return (retval); }