Exemplo n.º 1
0
/******************************************************************
 * Function: DCE2_CleanExit()
 *
 * Purpose: Do any cleanup necessary when Snort exits.
 *
 * Arguments:
 *  int - signal that caused Snort to exit
 *  void * - pointer to data
 *
 * Returns: None
 *
 ******************************************************************/
static void DCE2_CleanExit(int signal, void *data)
{
    DCE2_FreeConfigs(dce2_config);
    dce2_config = NULL;

    DCE2_FreeGlobals();
}
Exemplo n.º 2
0
/********************************************************************
 * Function: DCE2_Die()
 *
 * Purpose: Fatal errors.  Calls DynamicPreprocessorFatalMessage.
 *          It's just quicker to type.
 *
 * Arguments: None
 *  const char * - format string
 *  ... - format arguments
 *
 * Returns: None
 *
 ********************************************************************/
NORETURN void DCE2_Die(const char *format, ...)
{
    char buf[1024];
    va_list ap;

    DCE2_FreeGlobals();

    if (format == NULL)
    {
        _dpd.errMsg("ERROR: %s(%d) => %s: format is NULL.\n",
                    __FILE__, __LINE__, DCE2_GNAME);

        DynamicPreprocessorFatalMessage("%s: Dieing.\n", DCE2_GNAME, buf);
    }

    va_start(ap, format);
    vsnprintf(buf, sizeof(buf), format, ap);
    va_end(ap);

    buf[sizeof(buf) - 1] = '\0';

    DynamicPreprocessorFatalMessage("%s: %s\n", DCE2_GNAME, buf);
}