{"record":{"id":"39775aba87aa3170","repo":"sqlmapproject/sqlmap","slug":"stream-count-must-be-positive","errorCode":null,"errorMessage":"stream count must be positive","messagePattern":"stream count must be positive","errorType":"validation","errorClass":"ValueError","httpStatus":null,"severity":"error","filePath":"lib/request/http2.py","lineNumber":1054,"sourceCode":"            self._connection_error(\"invalid WINDOW_UPDATE length\")\n        increment = struct.unpack(\"!I\", payload)[0] & MAX_WINDOW\n        if increment == 0:\n            self._connection_error(\"WINDOW_UPDATE increment is zero\")\n        if sid == 0:\n            if self.conn_send_window > MAX_WINDOW - increment:\n                self._connection_error(\"connection flow-control window overflow\")\n            self.conn_send_window += increment\n        elif sid in self.stream_send_windows:\n            current = self.stream_send_windows[sid]\n            if current > MAX_WINDOW - increment:\n                self._connection_error(\"stream flow-control window overflow\")\n            self.stream_send_windows[sid] = current + increment\n        elif sid % 2 == 0 or sid >= self.next_sid:\n            self._connection_error(\"WINDOW_UPDATE referenced an idle stream\")\n\n    def _allocate_stream_ids(self, count):\n        if count <= 0:\n            raise ValueError(\"stream count must be positive\")\n        last = self.next_sid + 2 * (count - 1)\n        if last > MAX_STREAM_ID:\n            self.usable = False\n            raise H2Error(\"HTTP/2 stream-id space exhausted\")\n        sids = [self.next_sid + 2 * index for index in range(count)]\n        self.next_sid += 2 * count\n        if self.next_sid > MAX_STREAM_ID:\n            self.usable = False\n        return sids\n\n    def _send_headers(self, sid, request_headers, end_stream):\n        if self.peer_max_header_list_size is not None:\n            if _field_section_size(request_headers) > self.peer_max_header_list_size:\n                raise H2Error(\"request header list exceeds peer-advertised limit\")\n        block = Encoder().encode(request_headers)\n        return b\"\".join(_header_frames(sid, block, self.peer_max_frame_size, end_stream))\n\n    def _finish_response(self, state):","sourceCodeStart":1036,"sourceCodeEnd":1072,"githubUrl":"https://github.com/sqlmapproject/sqlmap/blob/0a35b20e3953d341be6c7ac75ccb0b3362540c8d/lib/request/http2.py#L1036-L1072","documentation":"Error \"stream count must be positive\" thrown in sqlmapproject/sqlmap.","triggerScenarios":"Thrown at lib/request/http2.py:1054 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"}