From 464d52428389f868033739f4404d48f4c9a7eac8 Mon Sep 17 00:00:00 2001 From: Daniel Salzman <daniel.salzman@nic.cz> Date: Thu, 2 Oct 2014 10:28:12 +0200 Subject: [PATCH] zscanner: fix empty file processing --- src/zscanner/scanner.c.g2 | 7 +++++++ src/zscanner/scanner.c.t0 | 7 +++++++ src/zscanner/scanner.rl | 7 +++++++ 3 files changed, 21 insertions(+) diff --git a/src/zscanner/scanner.c.g2 b/src/zscanner/scanner.c.g2 index 1814ab635..342a717bd 100644 --- a/src/zscanner/scanner.c.g2 +++ b/src/zscanner/scanner.c.g2 @@ -73156,6 +73156,13 @@ int zs_scanner_parse_file(zs_scanner_t *s, return -1; } + // Check for empty file. + if (file_stat.st_size == 0) { + close(s->file.descriptor); + free(s->file.name); + return 0; + } + // Block size adjustment to multiple of page size. default_block_size = (BLOCK_SIZE / page_size) * page_size; diff --git a/src/zscanner/scanner.c.t0 b/src/zscanner/scanner.c.t0 index 1b6e8248b..e793fb833 100644 --- a/src/zscanner/scanner.c.t0 +++ b/src/zscanner/scanner.c.t0 @@ -7477,6 +7477,13 @@ int zs_scanner_parse_file(zs_scanner_t *s, return -1; } + // Check for empty file. + if (file_stat.st_size == 0) { + close(s->file.descriptor); + free(s->file.name); + return 0; + } + // Block size adjustment to multiple of page size. default_block_size = (BLOCK_SIZE / page_size) * page_size; diff --git a/src/zscanner/scanner.rl b/src/zscanner/scanner.rl index 3a36dd4b3..e53e041c0 100644 --- a/src/zscanner/scanner.rl +++ b/src/zscanner/scanner.rl @@ -324,6 +324,13 @@ int zs_scanner_parse_file(zs_scanner_t *s, return -1; } + // Check for empty file. + if (file_stat.st_size == 0) { + close(s->file.descriptor); + free(s->file.name); + return 0; + } + // Block size adjustment to multiple of page size. default_block_size = (BLOCK_SIZE / page_size) * page_size; -- GitLab