Text   |  XML   |  ReML   |   Visible Warnings:

Buffer Overrun  at mail-storage.c:149

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

convert_hook_mail_namespaces_created

(/home/sate/Testcases/c/cve/dovecot-1.2.0/src/plugins/convert/convert-plugin.c)expand/collapse
Show more  
 37  convert_hook_mail_namespaces_created(struct mail_namespace *namespaces)
 38  {
 39          const char *convert_mail;
 40   
 41          convert_mail = getenv("CONVERT_MAIL");
 42          if (convert_mail != NULL)
 43[+]                 convert_mail_storage(namespaces, convert_mail);
expand/collapse

convert_mail_storage

(/home/sate/Testcases/c/cve/dovecot-1.2.0/src/plugins/convert/convert-plugin.c)expand/collapse
Show more  
 15  static void convert_mail_storage(struct mail_namespace *namespaces,
 16                                   const char *convert_mail)
 17  {
 18          const char *str;
 19          struct convert_settings set;
 20   
 21          memset(&set, 0, sizeof(set));
 22[+]         if (mail_user_get_home(namespaces->user, &str) <= 0)
 23                  i_fatal("convert plugin: HOME unset");
 24   
 25          set.skip_broken_mailboxes =
 26                  getenv("CONVERT_SKIP_BROKEN_MAILBOXES") != NULL;
 27          set.skip_dotdirs = getenv("CONVERT_SKIP_DOTDIRS") != NULL;
 28   
 29          str = getenv("CONVERT_ALT_HIERARCHY_CHAR");
 30          set.alt_hierarchy_char = str != NULL && *str != '\0' ? *str : '_';
 31   
 32[+]         if (convert_storage(convert_mail, namespaces, &set) < 0)
expand/collapse

convert_storage

(/home/sate/Testcases/c/cve/dovecot-1.2.0/src/plugins/convert/convert-storage.c)expand/collapse
Show more  
 394  int convert_storage(const char *source_data,
 395                      struct mail_namespace *dest_namespaces,
 396                      const struct convert_settings *set)
 397  {
 398          struct mail_user *user = dest_namespaces->user;
 399          struct mail_namespace *source_ns, *dest_inbox_ns;
 400          struct dotlock *dotlock;
 401          enum mail_storage_flags src_flags;
 402          enum file_lock_method lock_method;
 403          const char *home, *path, *error;
 404          int ret;
 405   
 406          i_assert(user->namespaces == dest_namespaces);
 407          source_ns = mail_namespaces_init_empty(user);
 408          user->namespaces = dest_namespaces;
 409   
 410          dest_inbox_ns = mail_namespace_find_inbox(dest_namespaces);
 411          src_flags = dest_inbox_ns->storage->flags;
 412          lock_method = dest_inbox_ns->storage->lock_method;
 413   
 414          src_flags |= MAIL_STORAGE_FLAG_NO_AUTOCREATE;
 415          if (mail_storage_create(source_ns, NULL, source_data,
 416[+]                                 src_flags, lock_method, &error) < 0) {
expand/collapse

mail_storage_create

(/home/sate/Testcases/c/cve/dovecot-1.2.0/src/lib-storage/mail-storage.c)expand/collapse
Show more  
 160  int mail_storage_create(struct mail_namespace *ns, const char *driver,
 161                          const char *data, enum mail_storage_flags flags,
 162                          enum file_lock_method lock_method,
 163                          const char **error_r)
 164  {
 165          struct mail_storage *storage_class, *storage = NULL;
 166          struct mail_storage *const *classes;
 167          const char *home, *value;
 168          unsigned int i, count;
 169   
 170          if (data == NULL)
 171                  data = "";
 172          else if (driver == NULL)
 173[+]                 mail_storage_set_autodetection(&data, &driver, &flags);
expand/collapse

mail_storage_set_autodetection

(/home/sate/Testcases/c/cve/dovecot-1.2.0/src/lib-storage/mail-storage.c)expand/collapse
Show more  
 142  mail_storage_set_autodetection(const char **data, const char **driver,
 143                                 enum mail_storage_flags *flags)
 144  {
 145          const char *p;
 146   
 147          /* check if data is in driver:data format (eg. mbox:~/mail) */
 148          p = *data;
 149          while (i_isalnum(*p)) p++;
Show more  
Show more  
Show more  
Show more  
Show more  




Change Warning 8071.25527 : Buffer Overrun

Priority:
State:
Finding:
Owner:
Note: