tls1_change_cipher_state

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
9 messages Options
Reply | Threaded
Open this post in threaded view
|

tls1_change_cipher_state

Dmitry Belyavsky-3
Hello,

Am I right supposing that local variables tmp1, tmp2, iv1, and iv2 are unused in this function?

--
SY, Dmitry Belyavsky

--
openssl-users mailing list
To unsubscribe: https://mta.openssl.org/mailman/listinfo/openssl-users
Reply | Threaded
Open this post in threaded view
|

Re: tls1_change_cipher_state

Matt Caswell-2


On 27/12/2018 08:37, Dmitry Belyavsky wrote:
> Hello,
>
> Am I right supposing that local variables tmp1, tmp2, iv1, and iv2 are unused in
> this function?

Looks that way. They should be removed.

Matt


--
openssl-users mailing list
To unsubscribe: https://mta.openssl.org/mailman/listinfo/openssl-users
Reply | Threaded
Open this post in threaded view
|

Re: tls1_change_cipher_state

OpenSSL - User mailing list
On 02/01/2019 10:41, Matt Caswell wrote:
>
> On 27/12/2018 08:37, Dmitry Belyavsky wrote:
>> Hello,
>>
>> Am I right supposing that local variables tmp1, tmp2, iv1, and iv2 are unused in
>> this function?
> Looks that way. They should be removed.
>

By the way, why aren't any of your test compilers configured to
warn about unused local variables?  It's a common feature in many
compilers and thus a free consistency check that can catch typos.

Of cause doing so requires establishing a coding standard for how
to silence such warnings where a local variable is used only in
conditionally compiled code.

Enjoy

Jakob
--
Jakob Bohm, CIO, Partner, WiseMo A/S.  https://www.wisemo.com
Transformervej 29, 2860 Søborg, Denmark.  Direct +45 31 13 16 10
This public discussion message is non-binding and may contain errors.
WiseMo - Remote Service Management for PCs, Phones and Embedded

--
openssl-users mailing list
To unsubscribe: https://mta.openssl.org/mailman/listinfo/openssl-users
Reply | Threaded
Open this post in threaded view
|

Re: tls1_change_cipher_state

Dmitry Belyavsky-3
Dear Jakob,

On Wed, Jan 2, 2019 at 1:14 PM Jakob Bohm via openssl-users <[hidden email]> wrote:
On 02/01/2019 10:41, Matt Caswell wrote:
>
> On 27/12/2018 08:37, Dmitry Belyavsky wrote:
>> Hello,
>>
>> Am I right supposing that local variables tmp1, tmp2, iv1, and iv2 are unused in
>> this function?
> Looks that way. They should be removed.
>

By the way, why aren't any of your test compilers configured to
warn about unused local variables?  It's a common feature in many
compilers and thus a free consistency check that can catch typos.

Of cause doing so requires establishing a coding standard for how
to silence such warnings where a local variable is used only in
conditionally compiled code.

I think that compiler treats them as used, because buffers are static and cleansed at the end of the function.

--
SY, Dmitry Belyavsky

--
openssl-users mailing list
To unsubscribe: https://mta.openssl.org/mailman/listinfo/openssl-users
Reply | Threaded
Open this post in threaded view
|

Re: tls1_change_cipher_state

Dennis Clarke-2
In reply to this post by OpenSSL - User mailing list
On 1/2/19 5:14 AM, Jakob Bohm via openssl-users wrote:

> On 02/01/2019 10:41, Matt Caswell wrote:
>>
>> On 27/12/2018 08:37, Dmitry Belyavsky wrote:
>>> Hello,
>>>
>>> Am I right supposing that local variables tmp1, tmp2, iv1, and iv2
>>> are unused in
>>> this function?
>> Looks that way. They should be removed.
>>
>
> By the way, why aren't any of your test compilers configured to
> warn about unused local variables?  It's a common feature in many
> compilers and thus a free consistency check that can catch typos.

Traditionally ( past four decades ) that was a feature provided by
something like 'lint' but I have not seen a lint picker lately other
than in the Oracle Studio compiler tools and it certainly isn't open
source in any way. Works very well however.

Dennis
--
openssl-users mailing list
To unsubscribe: https://mta.openssl.org/mailman/listinfo/openssl-users
Reply | Threaded
Open this post in threaded view
|

Re: tls1_change_cipher_state

Dmitry Belyavsky-3
In reply to this post by Matt Caswell-2
Hello, 

On Wed, Jan 2, 2019 at 12:41 PM Matt Caswell <[hidden email]> wrote:


On 27/12/2018 08:37, Dmitry Belyavsky wrote:
> Hello,
>
> Am I right supposing that local variables tmp1, tmp2, iv1, and iv2 are unused in
> this function?

Looks that way. They should be removed.

#7971

--
SY, Dmitry Belyavsky

--
openssl-users mailing list
To unsubscribe: https://mta.openssl.org/mailman/listinfo/openssl-users
Reply | Threaded
Open this post in threaded view
|

Re: tls1_change_cipher_state

Matt Caswell-2
In reply to this post by OpenSSL - User mailing list


On 02/01/2019 10:14, Jakob Bohm via openssl-users wrote:

> On 02/01/2019 10:41, Matt Caswell wrote:
>>
>> On 27/12/2018 08:37, Dmitry Belyavsky wrote:
>>> Hello,
>>>
>>> Am I right supposing that local variables tmp1, tmp2, iv1, and iv2 are unused in
>>> this function?
>> Looks that way. They should be removed.
>>
>
> By the way, why aren't any of your test compilers configured to
> warn about unused local variables?  It's a common feature in many
> compilers and thus a free consistency check that can catch typos.

We do have that, but in this particular case the compiler has been fooled into
thinking that the buffers are used:

int tls1_change_cipher_state(SSL *s, int which)
{
    unsigned char *p, *mac_secret;
    unsigned char tmp1[EVP_MAX_KEY_LENGTH];
    unsigned char tmp2[EVP_MAX_KEY_LENGTH];
    unsigned char iv1[EVP_MAX_IV_LENGTH * 2];
    unsigned char iv2[EVP_MAX_IV_LENGTH * 2];

...

 err2:
    OPENSSL_cleanse(tmp1, sizeof(tmp1));
    OPENSSL_cleanse(tmp2, sizeof(tmp1));
    OPENSSL_cleanse(iv1, sizeof(iv1));
    OPENSSL_cleanse(iv2, sizeof(iv2));
    return (0);
}

Matt
--
openssl-users mailing list
To unsubscribe: https://mta.openssl.org/mailman/listinfo/openssl-users
Reply | Threaded
Open this post in threaded view
|

Re: tls1_change_cipher_state

OpenSSL - User mailing list
In reply to this post by Dennis Clarke-2
On 02/01/2019 11:18, Dennis Clarke wrote:

> On 1/2/19 5:14 AM, Jakob Bohm via openssl-users wrote:
>> On 02/01/2019 10:41, Matt Caswell wrote:
>>>
>>> On 27/12/2018 08:37, Dmitry Belyavsky wrote:
>>>> Hello,
>>>>
>>>> Am I right supposing that local variables tmp1, tmp2, iv1, and iv2
>>>> are unused in
>>>> this function?
>>> Looks that way. They should be removed.
>>>
>>
>> By the way, why aren't any of your test compilers configured to
>> warn about unused local variables?  It's a common feature in many
>> compilers and thus a free consistency check that can catch typos.
>
> Traditionally ( past four decades ) that was a feature provided by
> something like 'lint' but I have not seen a lint picker lately other
> than in the Oracle Studio compiler tools and it certainly isn't open
> source in any way. Works very well however.
>

Most traditional lint features have migrated into the compilers
(as warnings).  In this case gcc -Wunused enables a number of
such warnings.

Microsoft Visual C includes an advanced but flawed supplemental
linter in the form of the PREfast (code analysis) feature, which
tries to do semantic consistency checks for things like buffer
sizes and semaphore use.  This is closed source however.


By the way, I wonder if there is a way to tell gcc or clang that
OPENSSL_cleanse doesn't count as usage, without triggering other
warnings (such as not using the value written by by
OPENSSL_cleanse).

Enjoy

Jakob
--
Jakob Bohm, CIO, Partner, WiseMo A/S.  https://www.wisemo.com
Transformervej 29, 2860 Søborg, Denmark.  Direct +45 31 13 16 10
This public discussion message is non-binding and may contain errors.
WiseMo - Remote Service Management for PCs, Phones and Embedded

--
openssl-users mailing list
To unsubscribe: https://mta.openssl.org/mailman/listinfo/openssl-users
Reply | Threaded
Open this post in threaded view
|

Re: tls1_change_cipher_state

Steffen Nurpmeso-2
In reply to this post by Dennis Clarke-2
Dennis Clarke wrote in <[hidden email]>:
 |On 1/2/19 5:14 AM, Jakob Bohm via openssl-users wrote:
 |> On 02/01/2019 10:41, Matt Caswell wrote:
 |>>
 |>> On 27/12/2018 08:37, Dmitry Belyavsky wrote:
 |>>> Hello,
 |>>>
 |>>> Am I right supposing that local variables tmp1, tmp2, iv1, and iv2
 |>>> are unused in
 |>>> this function?
 |>> Looks that way. They should be removed.
 |>>
 |>
 |> By the way, why aren't any of your test compilers configured to
 |> warn about unused local variables?  It's a common feature in many
 |> compilers and thus a free consistency check that can catch typos.
 |
 |Traditionally ( past four decades ) that was a feature provided by
 |something like 'lint' but I have not seen a lint picker lately other
 |than in the Oracle Studio compiler tools and it certainly isn't open
 |source in any way. Works very well however.

I am not using it, but i occasionally see Christos Zoulas making
commits to the NetBSD version of lint.  They also seem to keep the
code instrumented with comments like "falltrough" etc., for it.

--steffen
|
|Der Kragenbaer,                The moon bear,
|der holt sich munter           he cheerfully and one by one
|einen nach dem anderen runter  wa.ks himself off
|(By Robert Gernhardt)
--
openssl-users mailing list
To unsubscribe: https://mta.openssl.org/mailman/listinfo/openssl-users