[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]
Re: [tor-bugs] #6044 [Tor Hidden Services]: Tor can't use a named pipe for a hidden service key
#6044: Tor can't use a named pipe for a hidden service key
---------------------------------+------------------------------------------
Reporter: katmagic | Owner:
Type: defect | Status: needs_revision
Priority: normal | Milestone: Tor: 0.2.4.x-final
Component: Tor Hidden Services | Version:
Keywords: | Parent:
Points: | Actualpoints:
---------------------------------+------------------------------------------
Changes (by nickm):
* status: needs_review => needs_revision
* milestone: => Tor: 0.2.4.x-final
Comment:
Reviewing...
The memcpy seems unnecessary; you should be able to just read() into the
string directly.
Reallocing the string every 256 bytes will give bad performance with some
allocators; generally you want to reallocate on a schedule that gives you
O(lg n) reallocs
Those last two won't actually matter in practice for the fifos you'd want
to use this on; they're just QOI issues.
I'm a little worried about huge broken fifos running us out of RAM; maybe
this should have an upper bound as an argument?
Make sure that it builds when you pass "--enable-gcc-warnings" to the
compiler.
"char *string = 0;" should be "char *string = NULL;"
This function fails badly on a 0-byte fifo: it'll never allocate the
string, but it'll call string[0] = '\0' anyway.
The test at the end of the loop is pointless; it can never be false.
Instead you can just use while(1).
I think perhaps the function name wants to be different; it's not FIFO-
specific, it's for anything where you want to read until you hit an EOF.
For making a file in the unit tests, you can use get_fname().
The unit test should probably be coded such that it tests the case that
that goes through the loop just once, more than once, and not at all.
--
Ticket URL: <https://trac.torproject.org/projects/tor/ticket/6044#comment:4>
Tor Bug Tracker & Wiki <https://trac.torproject.org/>
The Tor Project: anonymity online
_______________________________________________
tor-bugs mailing list
tor-bugs@xxxxxxxxxxxxxxxxxxxx
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-bugs