# io: read limit exceeded

- **ID:** `go/io-reader-too-large`
- **Domain:** go
- **Category:** io_error
- **Verification:** ai_generated
- **Fix Rate:** 80%

## Root Cause

Using io.LimitReader with a limit smaller than the actual data size, causing Read to return an error when the limit is reached.

## Version Compatibility

| Version | Status | Introduced | Deprecated |
|---------|--------|------------|------------|
| 1.20 | active | — | — |

## Workarounds

1. **** (85% success)
   ```
   r := io.LimitReader(file, maxSize); data, err := io.ReadAll(r); if err != nil { ... }; if len(data) == maxSize { /* handle overflow */ }
   ```

## Dead Ends

- **** — May cause memory exhaustion if data is maliciously large. (60% fail)
- **** — Leads to incomplete data processing and potential corruption. (90% fail)
