Browse Source

[Minor] Archives: Fix gzip file detection error

tags/1.9.0
Vsevolod Stakhov 5 years ago
parent
commit
8082d02b02
1 changed files with 13 additions and 3 deletions
  1. 13
    3
      src/libmime/archives.c

+ 13
- 3
src/libmime/archives.c View File

@@ -1757,9 +1757,19 @@ rspamd_archive_process_gzip (struct rspamd_task *task,
const gchar *fname_start = part->cd->filename.begin;

f = g_malloc0 (sizeof (*f));
f->fname = g_string_sized_new (dot_pos - slash_pos);
g_string_append_len (f->fname, fname_start,
dot_pos - fname_start);

if (memchr (fname_start, '.', part->cd->filename.len) != dot_pos) {
/* Double dots, something like foo.exe.gz */
f->fname = g_string_sized_new (dot_pos - fname_start);
g_string_append_len (f->fname, fname_start,
dot_pos - fname_start);
}
else {
/* Single dot, something like foo.gzz */
f->fname = g_string_sized_new (part->cd->filename.len);
g_string_append_len (f->fname, fname_start,
part->cd->filename.len);
}

msg_debug_archive ("fallback to gzip filename based on cd: %v",
f->fname);

Loading…
Cancel
Save