Text   |  XML   |  ReML   |   Visible Warnings:

Unreachable Data Flow  at mail-search.c:789

No properties have been set. | edit properties
Jump to warning location ↓ warning details...
Show Events | Options

mail_search_arg_one_equals

(/home/sate/Testcases/c/cve/dovecot-1.2.0/src/lib-storage/mail-search.c)expand/collapse
Show more  
 720  static bool mail_search_arg_one_equals(const struct mail_search_arg *arg1,
 721                                         const struct mail_search_arg *arg2)
 722  {
 723          if (arg1->type != arg2->type ||
 724              arg1->not != arg2->not)
 725                  return FALSE;
 726   
 727          switch (arg1->type) {
 728          case SEARCH_OR:
 729          case SEARCH_SUB:
 730                  return mail_search_arg_equals(arg1->value.subargs,
 731                                                arg2->value.subargs);
 732   
 733          case SEARCH_ALL:
 734                  return TRUE;
 735          case SEARCH_SEQSET:
 736                  /* sequences may point to different messages at different times,
 737                     never assume they match */
 738                  return FALSE;
 739          case SEARCH_UIDSET:
 740                  return array_cmp(&arg1->value.seqset, &arg2->value.seqset);
 741   
 742          case SEARCH_FLAGS:
 743                  return arg1->value.flags == arg2->value.flags;
 744          case SEARCH_KEYWORDS:
 745                  return strcasecmp(arg1->value.str, arg2->value.str);
 746   
 747          case SEARCH_BEFORE:
 748          case SEARCH_ON:
 749          case SEARCH_SINCE:
 750          case SEARCH_SENTBEFORE:
 751          case SEARCH_SENTON:
 752          case SEARCH_SENTSINCE:
 753                  return arg1->value.time == arg2->value.time;
 754   
 755          case SEARCH_SMALLER:
 756          case SEARCH_LARGER:
 757                  return arg1->value.size == arg2->value.size;
 758   
 759          case SEARCH_HEADER:
 760          case SEARCH_HEADER_ADDRESS:
 761          case SEARCH_HEADER_COMPRESS_LWSP:
 762                  if (strcasecmp(arg1->hdr_field_name, arg2->hdr_field_name) != 0)
 763                          return FALSE;
 764                  /* fall through */
 765          case SEARCH_BODY:
 766          case SEARCH_TEXT:
 767          case SEARCH_BODY_FAST:
 768          case SEARCH_TEXT_FAST:
 769          case SEARCH_GUID:
 770          case SEARCH_MAILBOX:
 771                  /* don't bother doing case-insensitive comparison. it must not 
 772                     be done for guid/mailbox, and for others we should support
 773                     full i18n case-insensitivity (or the active comparator 
 774                     in future). */
 775                  return strcmp(arg1->value.str, arg2->value.str);
 776   
 777          case SEARCH_MODSEQ: {
 778                  const struct mail_search_modseq *m1 = arg1->value.modseq;
 779                  const struct mail_search_modseq *m2 = arg2->value.modseq;
 780   
 781                  return m1->modseq == m2->modseq &&
 782                          m1->type == m2->type;
 783          }
 784          case SEARCH_INTHREAD:
 785                  return mail_search_args_equal(arg1->value.search_args,
 786                                                arg2->value.search_args);
 787          }
 788          i_unreached();
 789          return FALSE;
 790  }
Show more  




Change Warning 7524.24439 : Unreachable Data Flow

Priority:
State:
Finding:
Owner:
Note: