X-Git-Url: http://www.privoxy.org/gitweb/?a=blobdiff_plain;f=loaders.c;h=f33e2c2d8e1b3de211961c142a43cdf7b165ce1f;hb=baaff2a67e03a34005a2d9f41e63f9cdac75cf1c;hp=88564dc5f47d0d49debe6189b7c173cb5e0d831c;hpb=667cbfed6af943f445f0bd158e6177ebd948a023;p=privoxy.git diff --git a/loaders.c b/loaders.c index 88564dc5..f33e2c2d 100644 --- a/loaders.c +++ b/loaders.c @@ -1,4 +1,4 @@ -const char loaders_rcs[] = "$Id: loaders.c,v 1.66 2008/03/21 11:16:30 fabiankeil Exp $"; +const char loaders_rcs[] = "$Id: loaders.c,v 1.70 2009/03/01 18:34:24 fabiankeil Exp $"; /********************************************************************* * * File : $Source: /cvsroot/ijbswa/current/loaders.c,v $ @@ -8,7 +8,7 @@ const char loaders_rcs[] = "$Id: loaders.c,v 1.66 2008/03/21 11:16:30 fabiankeil * the list of active loaders, and to automatically * unload files that are no longer in use. * - * Copyright : Written by and Copyright (C) 2001-2007 the SourceForge + * Copyright : Written by and Copyright (C) 2001-2009 the * Privoxy team. http://www.privoxy.org/ * * Based on the Internet Junkbuster originally written @@ -35,6 +35,25 @@ const char loaders_rcs[] = "$Id: loaders.c,v 1.66 2008/03/21 11:16:30 fabiankeil * * Revisions : * $Log: loaders.c,v $ + * Revision 1.70 2009/03/01 18:34:24 fabiankeil + * Help clang understand that we aren't dereferencing + * NULL pointers here. + * + * Revision 1.69 2008/09/21 13:36:52 fabiankeil + * If change-x-forwarded-for{add} is used and the client + * sends multiple X-Forwarded-For headers, append the client's + * IP address to each one of them. "Traditionally" we would + * lose all but the last one. + * + * Revision 1.68 2008/09/19 15:26:28 fabiankeil + * Add change-x-forwarded-for{} action to block or add + * X-Forwarded-For headers. Mostly based on code removed + * before 3.0.7. + * + * Revision 1.67 2008/03/30 14:52:08 fabiankeil + * Rename load_actions_file() and load_re_filterfile() + * as they load multiple files "now". + * * Revision 1.66 2008/03/21 11:16:30 fabiankeil * Garbage-collect csp->my_ip_addr_str and csp->my_hostname. * @@ -858,30 +877,30 @@ jb_err edit_read_line(FILE *fp, if (raw_out) { - if ((raw = malloc(1)) == NULL) + raw = strdup(""); + if (NULL == raw) { return JB_ERR_MEMORY; } - *raw = '\0'; } if (prefix_out) { - if ((prefix = malloc(1)) == NULL) + prefix = strdup(""); + if (NULL == prefix) { freez(raw); return JB_ERR_MEMORY; } - *prefix = '\0'; } if (data_out) { - if ((data = malloc(1)) == NULL) + data = strdup(""); + if (NULL == data) { freez(raw); freez(prefix); return JB_ERR_MEMORY; } - *data = '\0'; } /* Main loop. Loop while we need more data & it's not EOF. */ @@ -915,6 +934,7 @@ jb_err edit_read_line(FILE *fp, /* Trim leading spaces if we're at the start of the line */ linestart = linebuf; + assert(NULL != data); if (*data == '\0') { /* Trim leading spaces */ @@ -1554,6 +1574,7 @@ int load_one_re_filterfile(struct client_state *csp, int fileid) } else { + assert(NULL != bl); bl->next = new_bl; } bl = new_bl; @@ -1617,7 +1638,7 @@ int load_one_re_filterfile(struct client_state *csp, int fileid) { bl->joblist = dummy; } - else + else if (NULL != lastjob) { lastjob->next = dummy; }