void RemoveContext (CitContext *con)
{
const char *c;
- if (con==NULL) {
- syslog(LOG_ERR, "WARNING: RemoveContext() called with NULL!\n");
+ if (con == NULL) {
+ syslog(LOG_ERR, "WARNING: RemoveContext() called with NULL!");
return;
}
c = con->ServiceName;
- if (c == NULL)
+ if (c == NULL) {
c = "WTF?";
- syslog(LOG_DEBUG, "RemoveContext(%s) session %d\n", c, con->cs_pid);
- cit_backtrace ();
+ }
+ syslog(LOG_DEBUG, "RemoveContext(%s) session %d", c, con->cs_pid);
+ cit_backtrace();
/* Run any cleanup routines registered by loadable modules.
* Note: We have to "become_session()" because the cleanup functions
client_close(); /* If the client is still connected, blow 'em away. */
become_session(NULL);
- syslog(LOG_NOTICE, "[%3d] Session ended.\n", con->cs_pid);
+ syslog(LOG_NOTICE, "[%3d] Session ended.", con->cs_pid);
/*
* If the client is still connected, blow 'em away.
*/
if (con->client_socket > 0)
{
- syslog(LOG_NOTICE, "Closing socket %d\n", con->client_socket);
+ syslog(LOG_NOTICE, "Closing socket %d", con->client_socket);
close(con->client_socket);
}
free(con->cached_msglist);
}
- syslog(LOG_DEBUG, "Done with RemoveContext()\n");
+ syslog(LOG_DEBUG, "Done with RemoveContext()");
}
* but only if the client fetches the message we just generated immediately
* without first trying to perform other fetch operations.
*/
- if (CC->cached_msglist != NULL) free(CC->cached_msglist);
- CC->cached_num_msgs = 1;
+ if (CC->cached_msglist != NULL) {
+ free(CC->cached_msglist);
+ CC->cached_msglist = NULL;
+ CC->cached_num_msgs = 0;
+ }
CC->cached_msglist = malloc(sizeof(long));
- CC->cached_msglist[0] = msgnum;
+ if (CC->cached_msglist != NULL) {
+ CC->cached_num_msgs = 1;
+ CC->cached_msglist[0] = msgnum;
+ }
}
else if (!strcasecmp(operation, "revert")) {
cdbfr->ptr = NULL; /* clear this so that cdb_free() doesn't free it */
cdb_free(cdbfr); /* we own this memory now */
- /*
- * We cache the most recent msglist in order to do security checks later
- */
- if (CC->client_socket > 0) {
- if (CC->cached_msglist != NULL) {
- free(CC->cached_msglist);
- }
-
- CC->cached_msglist = msglist;
- CC->cached_num_msgs = num_msgs;
- }
-
/*
* Now begin the traversal.
*/
}
}
if (need_to_free_re) regfree(&re);
- if (CC->client_socket <= 0) free(msglist);
+
+ /*
+ * We cache the most recent msglist in order to do security checks later
+ */
+ if (CC->client_socket > 0) {
+ if (CC->cached_msglist != NULL) {
+ free(CC->cached_msglist);
+ }
+ CC->cached_msglist = msglist;
+ CC->cached_num_msgs = num_msgs;
+ }
+ else {
+ free(msglist);
+ }
+
return num_processed;
}