X-Git-Url: https://git.distorted.org.uk/~mdw/catacomb/blobdiff_plain/0f00dc4c8eb47e67bc0f148c2dd109f73a451e0a..HEAD:/math/ec-exp.h diff --git a/math/ec-exp.h b/math/ec-exp.h index 6cad7537..b393d7ec 100644 --- a/math/ec-exp.h +++ b/math/ec-exp.h @@ -37,9 +37,13 @@ #define EXP_TYPE ec #define EXP_COPY(d, p) do { \ - (d).x = MP_COPY((p).x); \ - (d).y = MP_COPY((p).y); \ - (d).z = (p).z ? MP_COPY((p).z) : MP_NEW; \ + if (EC_ATINF(&(p))) \ + (d).x = (d).y = (d).z = MP_NEW; \ + else { \ + (d).x = MP_COPY((p).x); \ + (d).y = MP_COPY((p).y); \ + (d).z = (p).z ? MP_COPY((p).z) : MP_NEW; \ + } \ } while (0) #define EXP_DROP(x) EC_DESTROY(&(x))