On 07/20/23 12:09AM, NRK wrote:
> FYI I'm not exactly interested in defending dq because I know nothing
> about it, but the above criticism at least seems more like knee jerk
> reaction due to something being different rather than actual/technical
> criticism.
> 
> - NRK
> 

Thanks for your response. Though it was a knee-jerk response, in my
experience, reimplementing libc(being different) without acknowledging
it is pretty effective heuristic for spotting non-portable code.

For example, in the ip_packet function, the author writes:
        numanswers = uint16_unpack_big(data + 6);
        ...
        while (numanswers--) {
                ...
        }

The uint16_unpack_big definition:
crypto_uint16 uint16_unpack_big(const unsigned char *x) 
    crypto_uint16 y;

    y  = x[0]; y <<= 8;
    y |= x[1];

    return y;
}

As you're probably already aware, if there were 3 answers, and you
were running this on a Big Endian machine, the program would attempt to
iterate over 768 answers. Instead, one can use htons(byteorder.3).

That may be another knee-jerk criticism, but  I have trouble seeing any
point looking further.

Jeremy

Reply via email to