@@ -173,7 +173,7 @@ static PyObject *LOB_InternalRead(udt_LOB *self, uint64_t offset,
173173 // create a buffer of the correct size
174174 if (dpiLob_getBufferSize (self -> handle , amount , & bufferSize ) < 0 )
175175 return Error_RaiseAndReturnNull ();
176- buffer = (char * ) PyMem_Malloc (bufferSize );
176+ buffer = (char * ) PyMem_Malloc (( Py_ssize_t ) bufferSize );
177177 if (!buffer )
178178 return PyErr_NoMemory ();
179179
@@ -189,12 +189,12 @@ static PyObject *LOB_InternalRead(udt_LOB *self, uint64_t offset,
189189
190190 // return the result
191191 if (self -> oracleTypeNum == DPI_ORACLE_TYPE_NCLOB )
192- result = PyUnicode_Decode (buffer , bufferSize ,
192+ result = PyUnicode_Decode (buffer , ( Py_ssize_t ) bufferSize ,
193193 self -> connection -> encodingInfo .nencoding , NULL );
194194 else if (self -> oracleTypeNum == DPI_ORACLE_TYPE_CLOB )
195- result = cxString_FromEncodedString (buffer , bufferSize ,
195+ result = cxString_FromEncodedString (buffer , ( Py_ssize_t ) bufferSize ,
196196 self -> connection -> encodingInfo .encoding );
197- else result = PyBytes_FromStringAndSize (buffer , bufferSize );
197+ else result = PyBytes_FromStringAndSize (buffer , ( Py_ssize_t ) bufferSize );
198198 PyMem_Free (buffer );
199199 return result ;
200200}
0 commit comments