-
Notifications
You must be signed in to change notification settings - Fork 58
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
dtls.c, netq.c: consider 32bit time overflow. #131
Conversation
dtls_time.h
Outdated
@@ -73,6 +75,11 @@ typedef clock_time_t dtls_tick_t; | |||
void dtls_clock_init(void); | |||
void dtls_ticks(dtls_tick_t *t); | |||
|
|||
// see https://godbolt.org/#z:OYLghAFBqd5QCxAYwPYBMCmBRdBLAF1QCcAaPECAMzwBtMA7AQwFtMQByARg9KtQYEAysib0QXACx8BBAKoBnTAAUAHpwAMvAFYTStJg1AB9U8lJL6yAngGVG6AMKpaAVxYMJG0g4AyeBkwAOXcAI0xiEAA2UgAHVAVCWwZnNw8vOISkgX9AkJZwyJjLTGtkoQImYgJU908ubxKygQqqglzgsIjoi0rq2vSG3raO/MLogEoLVFdiZHYOAFIAJgBmAOQ3LABqRdXHBQJ8VAA6BD3sRY0AQRX1hk3XHb2Do4CCM4ur25u7rBpAtsACpBYwAeQAYhChNggdsIABWDQTb7fAgAT1imH%2B21c7wAHMYCNtNqhkABrIl4NhEvYAIVRN3e2xYTACEAAbqg8OgUQB2Bk3bbC7Zcgw2egk2hkyk2GnE4l7AAi2w09O%2BItFLiYEswUplVPl2wYu1WKrVq0F101aAYh31FMNmCJLKYwDwyGMqCoVCUirN8KgpMdcudBAmAD9kabLqtsNsuCjLRqRYsBSnhczkKbzeqhSL%2BMR4cy8DnVaa6dtSy9tqsNBbK9Xlgzm9t%2BVbNZqAPRd0sAdzotG2qA5ESo0r7VcEqG2xMM6GNu3zndnZbweetK8Xyqr2wAtMDQZDobCN1uq1RA8HZdSwxMIKz3Z7vb7MIrWyaD%2BHTY5XU%2BvT6frthm54kisLYMsmy6dmmSogbBIGxMQ7xUBAKzLNKqCxAmJIgCsCILosCKOAw6GkCSSYdqmfJwb80FplRmaCCSZYNiBhbFsx1YBhoFa7jWdYNvxzbgW2DEgd2vbbAOtBDiOY4TlORCrvO27QZq/oquuUGbiuJo7qWB4guCUIwkCZ5bngl5BtKIa3kS96frOEw/qqwHqVuyDgd5Onngh9E0YhyGCKh6GYdhyy4fhhHEaRyzLORyCUfBgV0bpuzptBWasRZwocRAJasXx3G/oJ9LCRBYmZelkn9oOw6jsQ46oJO7wznODALvpHnCppVa5Z2%2BkBoZh4mSe5m%2BZZ1kQE5341si4k9Z2XkiSJk0rv56WbZqSEoWh8XhbWUXLARuyxWRFEDZtQV7eh0VESRF2Ph6AGvuGV3QcQb6zCabG/DRHBTLQnAIrwngcFopCoJwv4KDMcx6ncPCkAQmiA1M5IgKsqwnNjeP4wTMTAxwkhg2jUOcLwCggN4qMQ4DpBwLASBoCwsR0BE5CUKz7P0JEyDAFwXAJTQtAEBE1MQKE5OhAEVTouTrNsIIYIMLQCv06QWCskY4ia/gX1lKO1Oa5gqilK44vk%2B8mDE5DtB4KExDy84WCcMjBDISw7sM%2BOboKAAangmB9mCWLg8j/CCCIYjsFIMiCIoKjqJruhcPohgmGY%2BiO9TkBTFhNgCCb%2B5gqsVO26UReeBADgDPUPidaMXSROn8SJNX9d6O32QMM3BTdOnTTV60/QuHUejD%2BUfTtAEnQD63wxj2kDeHCMc9jIPUxw7M8x6J7mALDwQMg2TmvQxwqj4lEe5RJI2zAMg2ZCyckUQI45G4IQJC7Gs6fbM4NmHMixIwmLwOmWgJgYyxhoV%2BXA%2BTY0kKsfEGg%2BTLD5AATlWNIYmpNSDg0hhfKmNMUZoymEzKAMBEAgCIC4LmEAqjABNrwRhChlCGFtkIBALUfakB5sAvQ2Jv6LyjsIUQ4h46iKTmocmLABBMDQF/IgxAAASTAFB0kPgwa4ltUBh0YNiXhcjmCKPwMo/REdeDGIUagCo%2BBLG9HsZTRxAR2GBFoFwlqDjaG0AAJLoBALEJg3D6CkD7M7WIPsT4cFBvg8mF8gkhMRn/aShAEDbCvjfO%2BD8n4Ji4K/cBZDoHY1xgTMp2N9CcDwd7JEcTz7OOprTMhjMqEQCQDMAgsRLb0P4XzQRZiSB6FETHCR0gpFKBkZrcJTBIncAZsTWJBDeAXzBJbLpxJvQZOvrfe%2Bj9n75LfoA3mERf6rETIU%2BmUDSAIEwEwLAkQIDROqSAWpSyKYcGIU0y5xSognEkJILBqx4r4gRFg/ECDKkcHLnUwhziIHo0hcsM%2BsKPmkO%2BaQRqiQ7CSCAA%3D |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Maybe, I better remove the "huge" link ...
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
godbolt also has short links
https://godbolt.org/z/YchexKaeT
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Much better.
dd8affc
to
9fb395d
Compare
dtls_time.h
Outdated
/* see https://godbolt.org/z/YchexKaeT */ | ||
#define DTLS_OFFSET_TIME (((clock_time_t)~0) >> 1) | ||
/** Checks if A is before (or equal) B. Considers 32 bit time overflow */ | ||
#define DTLS_IS_BEFORE_TIME(A, B) ((DTLS_OFFSET_TIME + (B)-(A)) >= DTLS_OFFSET_TIME) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
#define DTLS_IS_BEFORE_TIME(A, B) ((DTLS_OFFSET_TIME + (B)-(A)) >= DTLS_OFFSET_TIME) | |
#define DTLS_IS_BEFORE_TIME(A, B) ((clock_time_t)(DTLS_OFFSET_TIME + (B)-(A)) >= DTLS_OFFSET_TIME) |
that cast is needed (check with godbolt)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for pointing to that.
Fixes issue: eclipse#125 Signed-off-by: Achim Kraus <[email protected]>
9fb395d
to
cde751a
Compare
Uses proposal in issue #125 to fix a 32bit overflow.
Fixes issue: #125
Signed-off-by: Achim Kraus [email protected]