{"record":{"id":"c692e7feb578e085","repo":"crowdsecurity/crowdsec","slug":"expected-zero-or-one-value-for-max-buffer-size-c692e7","errorCode":null,"errorMessage":"expected zero or one value for 'max_buffer_size'","messagePattern":"expected zero or one value for 'max_buffer_size'","errorType":"validation","errorClass":null,"httpStatus":null,"severity":"error","filePath":"pkg/acquisition/modules/s3/config.go","lineNumber":236,"sourceCode":"\t\t\treturn fmt.Errorf(\"could not parse s3 args: %w\", err)\n\t\t}\n\n\t\tfor key, value := range params {\n\t\t\tswitch key {\n\t\t\tcase \"log_level\":\n\t\t\t\tif len(value) != 1 {\n\t\t\t\t\treturn errors.New(\"expected zero or one value for 'log_level'\")\n\t\t\t\t}\n\n\t\t\t\tlvl, err := log.ParseLevel(value[0])\n\t\t\t\tif err != nil {\n\t\t\t\t\treturn fmt.Errorf(\"unknown level %s: %w\", value[0], err)\n\t\t\t\t}\n\n\t\t\t\ts.logger.Logger.SetLevel(lvl)\n\t\t\tcase \"max_buffer_size\":\n\t\t\t\tif len(value) != 1 {\n\t\t\t\t\treturn errors.New(\"expected zero or one value for 'max_buffer_size'\")\n\t\t\t\t}\n\n\t\t\t\tmaxBufferSize, err := strconv.Atoi(value[0])\n\t\t\t\tif err != nil {\n\t\t\t\t\treturn fmt.Errorf(\"invalid value for 'max_buffer_size': %w\", err)\n\t\t\t\t}\n\n\t\t\t\ts.logger.Debugf(\"Setting max buffer size to %d\", maxBufferSize)\n\t\t\t\ts.Config.MaxBufferSize = maxBufferSize\n\t\t\tdefault:\n\t\t\t\treturn fmt.Errorf(\"unknown parameter %s\", key)\n\t\t\t}\n\t\t}\n\t}\n\n\ts.Config.Labels = labels\n\ts.Config.Mode = configuration.CAT_MODE\n\ts.Config.UniqueId = uuid","sourceCodeStart":218,"sourceCodeEnd":254,"githubUrl":"https://github.com/crowdsecurity/crowdsec/blob/909b5157986a2b2c2163300fdaef5ed01289f7d2/pkg/acquisition/modules/s3/config.go#L218-L254","documentation":"DSN validation in S3 ConfigureByDSN: the max_buffer_size query parameter is repeated in the s3:// DSN. Exactly one integer is accepted since it sets the scanner buffer size for reading object contents.","triggerScenarios":"Thrown at pkg/acquisition/modules/s3/config.go:236 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Pass max_buffer_size once with one integer value, e.g. ?max_buffer_size=131072","Increase it when S3 objects contain very long lines that overflow the default bufio.MaxScanTokenSize"],"exampleFix":null,"handlingStrategy":"validation","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"909b5157986a2b2c2163300fdaef5ed01289f7d2","analyzedAt":"2026-09-06T12:27:26.012Z","contentChangedAt":"2026-09-06T12:27:26.012Z","schemaVersion":2},"datasetVersion":"2026-09-14T05:17:10.506Z"}