Willy Tarreau
d5370e1d6c
MINOR: net_helper: add functions to read from vectors
...
This patch adds the ability to read from a wrapping memory area (ie:
buffers). The new functions are called "readv_<type>". The original
ones were renamed to start with "read_" to make the difference more
obvious between the read method and the returned type.
It's worth noting that the memory barrier in readv_bytes() is critical,
as otherwise gcc decides that it doesn't need the resulting data, but
even worse, removes the length checks in readv_u64() and happily
performs an out-of-bounds unaligned read using read_u64()! Such
"optimizations" are a bit borderline, especially when they impact
security like this...
2017-09-20 11:27:31 +02:00
..
2016-12-21 21:30:54 +01:00
2017-07-04 10:45:53 +02:00
2017-09-05 10:21:29 +02:00
2017-04-13 12:20:52 +02:00
2016-12-21 21:30:54 +01:00
2017-09-05 15:23:16 +02:00
2010-10-30 19:04:33 +02:00
2017-09-05 10:34:30 +02:00
2017-09-15 11:49:52 +02:00
2017-03-31 14:36:04 +02:00
2017-09-05 15:23:16 +02:00
2017-09-05 10:22:20 +02:00
2017-09-15 11:49:52 +02:00
2017-01-11 16:11:11 +01:00
2017-08-30 07:04:04 +02:00
2016-12-21 21:30:54 +01:00
2017-09-20 11:27:31 +02:00
2017-09-05 15:45:11 +02:00
2017-09-05 15:45:11 +02:00
2017-09-05 15:45:11 +02:00
2017-09-05 15:45:11 +02:00
2017-09-05 10:49:45 +02:00
2017-07-06 23:07:36 +02:00
2017-09-15 18:42:23 +02:00
2017-09-15 18:42:23 +02:00
2016-11-21 15:29:58 +01:00
2012-12-29 21:50:07 +01:00
2017-09-15 11:49:27 +02:00
2017-09-05 15:23:16 +02:00
2015-01-20 19:48:05 +01:00
2011-10-24 18:15:04 +02:00
2017-07-28 15:24:57 +02:00
2017-09-15 11:49:52 +02:00
2012-10-08 20:11:03 +02:00
2017-09-05 15:23:16 +02:00
2017-09-05 15:23:16 +02:00
2017-09-05 15:23:16 +02:00
2017-09-05 15:23:16 +02:00
2017-09-05 15:23:16 +02:00
2017-09-15 11:49:52 +02:00
2017-09-05 10:29:31 +02:00
2016-01-11 07:31:35 +01:00
2015-02-03 00:24:16 +01:00
2017-09-13 13:38:32 +02:00
2017-07-21 09:54:03 +02:00
2016-12-21 21:30:54 +01:00
2017-07-04 10:45:53 +02:00
2017-03-20 07:25:37 +01:00
2017-09-15 11:49:52 +02:00
2011-10-24 17:09:22 +02:00
2017-09-13 13:38:32 +02:00
2017-09-15 11:49:52 +02:00
2016-04-14 11:18:22 +02:00
2017-09-15 11:49:52 +02:00
2016-08-10 19:31:58 +02:00
2017-09-15 11:49:52 +02:00
2017-09-05 15:23:16 +02:00
2017-08-24 19:30:04 +02:00
2007-01-07 02:12:57 +01:00
2016-12-28 12:51:51 +01:00
2017-07-24 17:15:47 +02:00
2017-09-15 18:42:23 +02:00
2017-09-15 11:49:52 +02:00
2016-11-08 20:54:41 +01:00
2017-06-02 10:56:32 +02:00
2017-09-15 18:42:23 +02:00
2017-07-19 19:15:06 +02:00
2017-09-15 11:49:52 +02:00
2017-09-13 13:38:32 +02:00
2017-08-30 10:05:49 +02:00
2017-09-15 11:49:52 +02:00
2017-09-11 18:59:40 +02:00
2016-12-22 23:26:37 +01:00
2017-03-29 15:24:33 +02:00
2016-04-09 22:27:01 +02:00
2016-04-03 14:17:42 +02:00
2017-07-24 17:16:11 +02:00
2016-12-21 21:30:54 +01:00
2016-04-03 14:17:42 +02:00