{"record":{"id":"e8ba63650e6f747c","repo":"sqlmapproject/sqlmap","slug":"integer-exceeds-maximum-d","errorCode":null,"errorMessage":"integer exceeds maximum %d","messagePattern":"integer exceeds maximum (.+?)","errorType":"exception","errorClass":"OverflowError","httpStatus":null,"severity":"error","filePath":"extra/esperanto/extraction.py","lineNumber":639,"sourceCode":"        return self._ask(\"(%s)=(%s)\" % (left, right))\n\n    def extractInteger(self, expr, maximum=None):\n        \"\"\"Extract a (possibly signed) integer by range-bounded bisection - avoids\n        stringifying and reading digit-by-digit. EVERY numeric decision renders through\n        `_gtNum` (the discovered comparator: gt / BETWEEN / operator-free rung), so it\n        never emits a raw '>='/'<'/'>' discovery did not validate, and an operator-free\n        rung keeps FULL signed range (not the membership magnitude ceiling).\"\"\"\n        cap = maximum if maximum is not None else 1 << 62\n        if not self._numDefined(expr):\n            return None\n        if self._comparator == \"membership\":\n            # no ordered comparator at all: read the non-negative magnitude (counts /\n            # lengths) via the bounded IN/scan window; out-of-range -> overflow.\n            ceil = min(cap, 1 << 16)\n            try:\n                return self._readNum(expr, 0, ceil)\n            except NumericOutOfRange:\n                raise OverflowError(\"integer exceeds maximum %d\" % ceil)\n        # ordered comparator: bracket the value with `expr > n` probes then bisect the\n        # transition. The `high` arg to _gtNum MUST exceed any possible value (BETWEEN renders\n        # `expr BETWEEN n+1 AND high`; using `cap` there made every over-cap positive read as\n        # an empty range -> misclassified NEGATIVE, reporting \"below minimum\" for an above-max\n        # value). Use HUGE as the range ceiling everywhere; `cap` is only the overflow threshold.\n        HUGE = 1 << 62\n        if self._gtNum(expr, -1, HUGE):                 # expr > -1  <=>  expr >= 0 (any magnitude)\n            if self._gtNum(expr, cap, HUGE):            # expr > cap  -> ABOVE maximum\n                raise OverflowError(\"integer exceeds maximum %d\" % cap)\n            lo, hi = -1, 1\n            while hi < cap and self._gtNum(expr, hi, HUGE):\n                lo, hi = hi, min(hi * 2 + 1, cap)\n        else:                                           # not in [0, HUGE]\n            # BETWEEN's sign test caps at HUGE, so a positive value ABOVE HUGE also lands here.\n            # distinguish it from a genuine negative before reporting a direction (a gt/operator-\n            # free sign test is unbounded, so its else-branch is truly negative and skips this).\n            if self._comparator == \"between\" and not self._ask(\"(%s) BETWEEN %d AND %d\" % (expr, -HUGE, -1)):\n                raise OverflowError(\"integer magnitude exceeds representable range (+/-%d), direction unknown\" % HUGE)","sourceCodeStart":621,"sourceCodeEnd":657,"githubUrl":"https://github.com/sqlmapproject/sqlmap/blob/0a35b20e3953d341be6c7ac75ccb0b3362540c8d/extra/esperanto/extraction.py#L621-L657","documentation":"Error \"integer exceeds maximum %d\" thrown in sqlmapproject/sqlmap.","triggerScenarios":"Thrown at extra/esperanto/extraction.py:639 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"0a35b20e3953d341be6c7ac75ccb0b3362540c8d","analyzedAt":"2026-08-26T23:02:52.002Z","schemaVersion":2},"datasetVersion":"2026-08-27T03:17:27.898Z"}