Show
Ignore:
Timestamp:
2005-02-09 01:05:38 (4 years ago)
Author:
Thomas Roessler <roessler@…>
Branch:
HEAD
Message:

Don't crash in mutt_pattern_exec when h->env is NULL.

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • pattern.c

    r3873 r3887  
    10091009                                        pat->alladdr, 1, h->env->cc)); 
    10101010    case M_SUBJECT: 
    1011       return (pat->not ^ (h->env->subject && regexec (pat->rx, h->env->subject, 0, NULL, 0) == 0)); 
     1011      return (pat->not ^ (h->env && h->env->subject && regexec (pat->rx, h->env->subject, 0, NULL, 0) == 0)); 
    10121012    case M_ID: 
    1013       return (pat->not ^ (h->env->message_id && regexec (pat->rx, h->env->message_id, 0, NULL, 0) == 0)); 
     1013      return (pat->not ^ (h->env && h->env->message_id && regexec (pat->rx, h->env->message_id, 0, NULL, 0) == 0)); 
    10141014    case M_SCORE: 
    10151015      return (pat->not ^ (h->score >= pat->min && (pat->max == M_MAXRANGE || 
     
    10201020      return (pat->not ^ match_reference (pat->rx, h->env->references)); 
    10211021    case M_ADDRESS: 
    1022       return (pat->not ^ match_adrlist (pat->rx, flags & M_MATCH_FULL_ADDRESS, 
     1022      return (pat->not ^ (h->env && match_adrlist (pat->rx, flags & M_MATCH_FULL_ADDRESS, 
    10231023                                        pat->alladdr, 4, h->env->from, 
    1024                                         h->env->sender, h->env->to, h->env->cc)); 
     1024                                        h->env->sender, h->env->to, h->env->cc))); 
    10251025    case M_RECIPIENT: 
    1026            return (pat->not ^ match_adrlist (pat->rx, flags & M_MATCH_FULL_ADDRESS, 
    1027                                         pat->alladdr, 2, h->env->to, h->env->cc)); 
     1026           return (pat->not ^ (h->env && match_adrlist (pat->rx, flags & M_MATCH_FULL_ADDRESS, 
     1027                                        pat->alladdr, 2, h->env->to, h->env->cc))); 
    10281028    case M_LIST: 
    1029       return (pat->not ^ mutt_is_list_recipient (pat->alladdr, h->env->to, h->env->cc)); 
     1029      return (pat->not ^ (h->env && mutt_is_list_recipient (pat->alladdr, h->env->to, h->env->cc))); 
    10301030    case M_PERSONAL_RECIP: 
    1031       return (pat->not ^ match_user (pat->alladdr, h->env->to, h->env->cc)); 
     1031      return (pat->not ^ (h->env && match_user (pat->alladdr, h->env->to, h->env->cc))); 
    10321032    case M_PERSONAL_FROM: 
    1033       return (pat->not ^ match_user (pat->alladdr, h->env->from, NULL)); 
     1033      return (pat->not ^ (h->env && match_user (pat->alladdr, h->env->from, NULL))); 
    10341034    case M_COLLAPSED: 
    10351035      return (pat->not ^ (h->collapsed && h->num_hidden > 1));