{"record":{"id":"da3a50d2e99e8920","repo":"googleapis/mcp-toolbox","slug":"range-q-has-a-bad-start","errorCode":null,"errorMessage":"range %q has a bad start","messagePattern":"range %q has a bad start","errorType":"validation","errorClass":null,"httpStatus":null,"severity":"error","filePath":"internal/tools/cloudstorage/cloudstoragereadobject/cloudstoragereadobject.go","lineNumber":191,"sourceCode":"\n\tstartStr := spec[:dash]\n\tendStr := spec[dash+1:]\n\n\tswitch {\n\tcase startStr == \"\" && endStr == \"\":\n\t\treturn 0, 0, fmt.Errorf(\"range %q requires at least one bound\", rangeSpec)\n\n\tcase startStr == \"\":\n\t\tn, parseErr := strconv.ParseInt(endStr, 10, 64)\n\t\tif parseErr != nil || n <= 0 {\n\t\t\treturn 0, 0, fmt.Errorf(\"range %q has a bad suffix length\", rangeSpec)\n\t\t}\n\t\treturn -n, -1, nil\n\n\tcase endStr == \"\":\n\t\tstart, parseErr := strconv.ParseInt(startStr, 10, 64)\n\t\tif parseErr != nil || start < 0 {\n\t\t\treturn 0, 0, fmt.Errorf(\"range %q has a bad start\", rangeSpec)\n\t\t}\n\t\treturn start, -1, nil\n\n\tdefault:\n\t\tstart, parseErr := strconv.ParseInt(startStr, 10, 64)\n\t\tif parseErr != nil || start < 0 {\n\t\t\treturn 0, 0, fmt.Errorf(\"range %q has a bad start\", rangeSpec)\n\t\t}\n\t\tend, parseErr := strconv.ParseInt(endStr, 10, 64)\n\t\tif parseErr != nil || end < start {\n\t\t\treturn 0, 0, fmt.Errorf(\"range %q has a bad end\", rangeSpec)\n\t\t}\n\t\treturn start, end - start + 1, nil\n\t}\n}\n","sourceCodeStart":173,"sourceCodeEnd":207,"githubUrl":"https://github.com/googleapis/mcp-toolbox/blob/8cc6e09de2ad7b8bffc77751799585a1401a48eb/internal/tools/cloudstorage/cloudstoragereadobject/cloudstoragereadobject.go#L173-L207","documentation":"Range-parser guard for the open-ended form 'bytes=N-': the start value N fails to parse as an integer or is negative.","triggerScenarios":"Thrown at internal/tools/cloudstorage/cloudstoragereadobject/cloudstoragereadobject.go:191 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Use a non-negative integer start, e.g. 'bytes=1024-'","Check for typos such as 'bytes=1O24-' (letter O instead of zero)"],"exampleFix":null,"handlingStrategy":"validation","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"8cc6e09de2ad7b8bffc77751799585a1401a48eb","analyzedAt":"2026-09-05T01:10:36.887Z","contentChangedAt":"2026-09-05T01:10:36.887Z","schemaVersion":2},"datasetVersion":"2026-09-08T10:18:20.063Z"}