Text   |  XML   |  ReML   |   Visible Warnings:

Null Pointer Dereference  at virtual-sync.c:66

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

virtual_sync_backend_add_new

(/home/sate/Testcases/c/cve/dovecot-1.2.0/src/plugins/virtual/virtual-sync.c)expand/collapse
Show more  
 1196  static void virtual_sync_backend_add_new(struct virtual_sync_context *ctx)
 1197  {
 1198          uint32_t virtual_ext_id = ctx->mbox->virtual_ext_id;
 1199          struct virtual_add_record *adds;
 1200          struct virtual_backend_box *bbox;
 1201          struct virtual_backend_uidmap *uidmap;
 1202          const struct mail_index_header *hdr;
 1203          const struct virtual_mail_index_record *vrec;
 1204          unsigned int i, count, idx, uid_count;
 1205          uint32_t vseq, first_uid, next_uid;
 1206   
 1207          hdr = mail_index_get_header(ctx->sync_view);
 1208[+]         adds = array_get_modifiable(&ctx->all_adds, &count);
 1209          if (count == 0) {
 1210                  ctx->mbox->sync_virtual_next_uid = hdr->next_uid;
 1211                  return;
 1212          }
 1213   
 1214          if (adds[0].rec.mailbox_id == adds[count-1].rec.mailbox_id) {
 1215                  /* all messages are from a single mailbox. add them in 
 1216                     the same order. */
 1217          } else {
 1218                  /* sort new messages by received date to get the add order */
 1219                  virtual_sync_backend_sort_new(ctx);
 1220          }
 1221   
 1222          for (bbox = NULL, i = 0; i < count; i++) {
 1223                  vrec = &adds[i].rec;
 1224                  if (bbox == NULL || bbox->mailbox_id != vrec->mailbox_id) {
 1225                          bbox = virtual_backend_box_lookup(ctx->mbox,
 1226[+]                                                           vrec->mailbox_id);
 1227                  }
 1228   
 1229                  mail_index_append(ctx->trans, 0, &vseq);
 1230                  mail_index_update_ext(ctx->trans, vseq, virtual_ext_id,
 1231                                        vrec, NULL);
 1232[+]                 virtual_sync_external_flags(ctx, bbox, vseq, vrec->real_uid);
expand/collapse

virtual_sync_external_flags

(/home/sate/Testcases/c/cve/dovecot-1.2.0/src/plugins/virtual/virtual-sync.c)expand/collapse
Show more  
 58  static void virtual_sync_external_flags(struct virtual_sync_context *ctx,
 59                                          struct virtual_backend_box *bbox,
 60                                          uint32_t vseq, uint32_t real_uid)
 61  {
 62          enum mail_flags flags;
 63          const char *const *kw_names;
 64          struct mail_keywords *keywords;
 65   
 66          if (!mail_set_uid(bbox->sync_mail, real_uid)) {
Show more  
Show more  




Change Warning 8159.24713 : Null Pointer Dereference

Priority:
State:
Finding:
Owner:
Note: