瀏覽代碼

[Minor] Archives: Fix gzip file detection error

tags/1.9.0
Vsevolod Stakhov 5 年之前
父節點
當前提交
8082d02b02
共有 1 個文件被更改,包括 13 次插入3 次删除
  1. 13
    3
      src/libmime/archives.c

+ 13
- 3
src/libmime/archives.c 查看文件

@@ -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…
取消
儲存