Text   |  XML   |  ReML   |   Visible Warnings:

Buffer Overrun  at buffer.c:185

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

do_save_mail_size

(/home/sate/Testcases/c/cve/dovecot-1.2.0/src/lib-storage/index/maildir/maildir-copy.c)expand/collapse
Show more  
 31  static int do_save_mail_size(struct maildir_mailbox *mbox, const char *path,
 32                               struct hardlink_ctx *ctx)
 33  {
 34          const char *fname, *str;
 35          struct stat st;
 36          uoff_t size;
 37   
 38          fname = strrchr(path, '/');
 39          fname = fname != NULL ? fname + 1 : path;
 40   
 41          if (!maildir_filename_get_size(fname, MAILDIR_EXTRA_FILE_SIZE,
 42[+]                                        &size)) {
 43                  if (stat(path, &st) < 0) {
 44                          if (errno == ENOENT)
 45                                  return 0;
 46                          mail_storage_set_critical(&mbox->storage->storage,
 47                                                    "stat(%s) failed: %m", path);
 48                          return -1;
 49                  }
 50                  size = st.st_size;
 51          }
 52   
 53[+]         str = t_strdup_printf(",%c=%"PRIuUOFF_T, MAILDIR_EXTRA_FILE_SIZE, size);
 54[+]         str_insert(ctx->dest_path, ctx->base_end_pos, str);
expand/collapse

str_insert

(/home/sate/Testcases/c/cve/dovecot-1.2.0/src/lib/str.c)expand/collapse
Show more  
 162  void str_insert(string_t *str, size_t pos, const char *cstr)
 163  {
 164[+]         buffer_insert(str, pos, cstr, strlen(cstr));
expand/collapse

buffer_insert

(/home/sate/Testcases/c/cve/dovecot-1.2.0/src/lib/buffer.c)expand/collapse
Show more  
 176  void buffer_insert(buffer_t *_buf, size_t pos,
 177                     const void *data, size_t data_size)
 178  {
 179          struct real_buffer *buf = (struct real_buffer *)_buf;
 180   
 181          if (pos >= buf->used)
 182                  buffer_write(_buf, pos, data, data_size);
 183          else {
 184                  buffer_copy(_buf, pos + data_size, _buf, pos, (size_t)-1);
 185                  memcpy(buf->w_buffer + pos, data, data_size);
Show more  
Show more  
Show more  




Change Warning 7295.24840 : Buffer Overrun

Priority:
State:
Finding:
Owner:
Note: