From 1f64b3cd49ab8d7e278643b4c597476f1ccfc82e Mon Sep 17 00:00:00 2001 From: Jason Williams Date: Tue, 13 Oct 2020 11:00:55 -0400 Subject: [PATCH] Fixes #212 by increasing buffer size for scanner Signed-off-by: Jason Williams --- syft/cataloger/apkdb/parse_apk_db.go | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/syft/cataloger/apkdb/parse_apk_db.go b/syft/cataloger/apkdb/parse_apk_db.go index d11d34194..7cc9ec16e 100644 --- a/syft/cataloger/apkdb/parse_apk_db.go +++ b/syft/cataloger/apkdb/parse_apk_db.go @@ -20,9 +20,14 @@ var _ common.ParserFn = parseApkDB // parseApkDb parses individual packages from a given Alpine DB file. For more information on specific fields // see https://wiki.alpinelinux.org/wiki/Apk_spec . func parseApkDB(_ string, reader io.Reader) ([]pkg.Package, error) { + // larger capacity for the scanner. + const maxScannerCapacity = 1024 * 1024 + // a new larger buffer for the scanner + bufScan := make([]byte, maxScannerCapacity) packages := make([]pkg.Package, 0) scanner := bufio.NewScanner(reader) + scanner.Buffer(bufScan, maxScannerCapacity) onDoubleLF := func(data []byte, atEOF bool) (advance int, token []byte, err error) { for i := 0; i < len(data); i++ { if i > 0 && data[i-1] == '\n' && data[i] == '\n' {