[PATCH v3 4/6] cli: sanitize the received header before scanning for replies

Austin Clements amdragon at MIT.EDU
Mon Feb 3 12:46:12 PST 2014


Quoth Jani Nikula on Feb 03 at  9:51 pm:
> This makes the from guessing agnostic to header folding by spaces or
> tabs.
> ---
>  notmuch-reply.c | 12 ++++++++++--
>  1 file changed, 10 insertions(+), 2 deletions(-)
> 
> diff --git a/notmuch-reply.c b/notmuch-reply.c
> index 47993d2..3f7021e 100644
> --- a/notmuch-reply.c
> +++ b/notmuch-reply.c
> @@ -21,6 +21,7 @@
>   */
>  
>  #include "notmuch-client.h"
> +#include "string-util.h"
>  #include "sprinter.h"
>  
>  static void
> @@ -465,14 +466,21 @@ guess_from_in_received_headers (notmuch_config_t *config,
>  				notmuch_message_t *message)
>  {
>      const char *received, *addr;
> +    char *sanitized;
>  
>      received = notmuch_message_get_header (message, "received");
>      if (! received)
>  	return NULL;
>  
> -    addr = guess_from_in_received_for (config, received);
> +    sanitized = sanitize_string (config, received);

Did you mean to pass "config" as the talloc context for
sanitize_string?  It seems like a better context would be "message" or
possibly even NULL, given that you explicitly talloc_free the string.

> +    if (! sanitized)
> +	return NULL;
> +
> +    addr = guess_from_in_received_for (config, sanitized);
>      if (! addr)
> -	addr = guess_from_in_received_by (config, received);
> +	addr = guess_from_in_received_by (config, sanitized);
> +
> +    talloc_free (sanitized);
>  
>      return addr;
>  }


More information about the notmuch mailing list