|
Boost : |
From: Caleb Epstein (caleb.epstein_at_[hidden])
Date: 2005-04-21 19:08:20
https://mndfck.org/svn/socketstream/trunk/example/time/session.h
Buffer overflow here:
char s[3];
this->time(s);
where ::time indexes s[0..3]. There's even a comment:
// assume we really got a string of the appropriate size
Overall this seems like a nice implementation of blocking,
iostream-able socket classes and related plumbing. I know different
folks are looking for different things in a network library. The
example programs are all well written (modulo that bug above) and
concise, which is a tribute to the your implementation. At the same
time, it is missing asynchronous and/or non-blocking operations and
any means for doing single-threaded I/O multiplexing (e.g.
select/poll/etc).
If non-blocking I/O were a possibility, I don't think throwing
exceptions on EWOUDBLOCK would be performant.
-- Caleb Epstein caleb dot epstein at gmail dot com
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk