[tor-dev] test_memcpy() on Windows

Nick Mathewson nickm at alum.mit.edu
Fri Mar 14 14:00:46 UTC 2014


On Fri, Mar 14, 2014 at 6:53 AM, Gisle Vanem <gvanem at yahoo.no> wrote:
> The 'test_memcpy()' in tinytest_demo.c assumes there is a NUL in one of the
> buffers. (the comment says so). That's not the case here on Windows. At
> least not in MSVC debug-mode where malloc'ed buffers are filled with '0xCD'.
> A snippet from my output:
>
> ../ext/tinytest_demo.c:159: assert(db->buffer1 < db->buffer2):
> 537472696E67203000CDCDCDCDCDCDCDCDCDCDCDCDCD
> ...
> vs 537472696E67203000CDCDCDCDCDCDCDCDCDCDCDCD
> ...
>  [memcpy FAILED]
>
> I assume this test works on Linux where AFAICS malloc() returns a buffer
> with zeros. If so, shouldn't calloc() be used in 'setup_data_buffer()'
> instead?

The test is broken: it doesn't work on any platform.  Look how buffer2
was copied directly from buffer1: they can't be unequal, on any
platform, no matter what malloc does.

Fixed in tinytest; copied into Tor.

-- 
Nick


More information about the tor-dev mailing list