I was thinking, is Python properties feature available to Proton (regarding
supported minimal Python version)? This might be good use for it, possibly.

On Thu, Jun 20, 2019, 17:58 Kim van der Riet (JIRA) <[email protected]> wrote:

> Kim van der Riet created PROTON-2071:
> ----------------------------------------
>
>              Summary: [Python] Proton integral type constructors and
> Data.put_*() methods need bounds checking
>                  Key: PROTON-2071
>                  URL: https://issues.apache.org/jira/browse/PROTON-2071
>              Project: Qpid Proton
>           Issue Type: Bug
>           Components: python-binding
>             Reporter: Kim van der Riet
>             Assignee: Kim van der Riet
>
>
> Using an out-of-bounds value to construct any integral type (except
> {{long}}) is simply accepted without an error:
> {noformat}
> >>> proton.byte(12345)
> byte(12345)
> {noformat}
> Using an out-of-bounds value (or an out-of-bounds integral type described
> above) on a {{Data.put_*()}} method results in an {{OverflowError}}:
> {noformat}
> >>> d = proton.Data()
> >>> d.put_byte(12345)
> Traceback (most recent call last):
>  File "<stdin>", line 1, in <module>
>  File
> "/home/kvdr/RedHat/install/lib64/proton/bindings/python/proton/_data.py",
> line 649, in put_byte
>  self._check(pn_data_put_byte(self._data, b))
> OverflowError: in method 'pn_data_put_byte', argument 2 of type 'int8_t'
> {noformat}
> A value range check needs to be made on all the integral constructors
> (except {{long}} which does not have this issue, and {{ulong}} which has
> already been fixed for negative values, see below) and {{Data.put_*()}}
> methods, and an {{AssertionError}} thrown if the supplied value is
> out-of-range.
>
> See PROTON-2038 for original limited fix for negative values on unsigned
> type constructors only.
>
>
>
> --
> This message was sent by Atlassian JIRA
> (v7.6.3#76005)
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [email protected]
> For additional commands, e-mail: [email protected]
>
>

Reply via email to