src/etpan_mime.c
branchsync
changeset 4534 96dc81d05fcb
parent 4502 4c82c412eb19
child 4537 0f441a3e8e36
     1.1 --- a/src/etpan_mime.c	Mon Apr 06 17:23:22 2020 +0200
     1.2 +++ b/src/etpan_mime.c	Tue Apr 07 10:07:46 2020 +0200
     1.3 @@ -1410,7 +1410,7 @@
     1.4  #else
     1.5      char* altstr = (char*)pEpstr;
     1.6  #endif        
     1.7 -    char *subject = msg->shortmsg ? msg->shortmsg : altstr;
     1.8 +    char *subject = msg->shortmsg && msg->shortmsg[0] ? msg->shortmsg : altstr;
     1.9  
    1.10      assert(msg);
    1.11      assert(result);
    1.12 @@ -1422,7 +1422,7 @@
    1.13      if (fields_list == NULL)
    1.14          goto enomem;
    1.15  
    1.16 -    if (msg->id) {
    1.17 +    if (msg->id && msg->id[0]) {
    1.18          char *_msgid = strdup(msg->id);
    1.19          assert(_msgid);
    1.20          if (_msgid == NULL)
    1.21 @@ -1463,7 +1463,7 @@
    1.22          }
    1.23      }
    1.24  
    1.25 -    if (msg->to) {
    1.26 +    if (msg->to && msg->to->ident) {
    1.27          struct mailimf_address_list *to = identity_list_to_mal(msg->to);
    1.28          if (to == NULL)
    1.29              goto enomem;
    1.30 @@ -1494,7 +1494,7 @@
    1.31          goto enomem;
    1.32      }
    1.33  
    1.34 -    if (msg->cc) {
    1.35 +    if (msg->cc && msg->cc->ident) {
    1.36          struct mailimf_address_list *cc = identity_list_to_mal(msg->cc);
    1.37          if (cc == NULL)
    1.38              goto enomem;
    1.39 @@ -1507,7 +1507,7 @@
    1.40          }
    1.41      }
    1.42      
    1.43 -    if (msg->bcc) {
    1.44 +    if (msg->bcc && msg->bcc->ident) {
    1.45          struct mailimf_address_list *bcc = identity_list_to_mal(msg->bcc);
    1.46          if (bcc == NULL)
    1.47              goto enomem;
    1.48 @@ -1520,7 +1520,7 @@
    1.49          }
    1.50      }
    1.51      
    1.52 -    if (msg->reply_to) {
    1.53 +    if (msg->reply_to && msg->reply_to->ident) {
    1.54          struct mailimf_address_list *reply_to = identity_list_to_mal(msg->reply_to);
    1.55          if (reply_to == NULL)
    1.56              goto enomem;
    1.57 @@ -1533,7 +1533,7 @@
    1.58          }
    1.59      }
    1.60  
    1.61 -    if (msg->in_reply_to) {
    1.62 +    if (msg->in_reply_to && msg->in_reply_to->value) {
    1.63          clist *in_reply_to = stringlist_to_clist(msg->in_reply_to, true);
    1.64          if (in_reply_to == NULL)
    1.65              goto enomem;
    1.66 @@ -1546,7 +1546,7 @@
    1.67          }
    1.68      }
    1.69  
    1.70 -    if (msg->references) {
    1.71 +    if (msg->references && msg->references->value) {
    1.72          clist *references = stringlist_to_clist(msg->references, true);
    1.73          if (references == NULL)
    1.74              goto enomem;
    1.75 @@ -1559,7 +1559,7 @@
    1.76          }
    1.77      }
    1.78  
    1.79 -    if (msg->keywords) {
    1.80 +    if (msg->keywords && msg->keywords->value) {
    1.81          clist *keywords = stringlist_to_clist(msg->keywords, true);
    1.82          if (keywords == NULL)
    1.83              goto enomem;
    1.84 @@ -1572,7 +1572,7 @@
    1.85          }
    1.86      }
    1.87  
    1.88 -    if (msg->comments) {
    1.89 +    if (msg->comments && msg->comments[0]) {
    1.90          char *comments = NULL;
    1.91          if (!must_field_value_be_encoded(msg->comments)) {
    1.92              comments = strdup(msg->comments);
    1.93 @@ -1592,7 +1592,7 @@
    1.94          }
    1.95      }
    1.96  
    1.97 -    if (msg->opt_fields) {
    1.98 +    if (msg->opt_fields && msg->opt_fields->value) {
    1.99          stringpair_list_t *_l;
   1.100          for (_l = msg->opt_fields; _l && _l->value; _l = _l->next) {
   1.101              char *key = _l->value->key;