tree d4022eac6d47239c67929f55e6da72a7aa0ff5b8
parent 6bdf3e9b111bd197ad1d933c87b6229dbd782ad1
author Willy Tarreau <w@1wt.eu> 1558363700 +0200
committer Willy Tarreau <w@1wt.eu> 1558364377 +0200
encoding latin1

MINOR: tools: provide a may_access() function and make dump_hex() use it

It's a bit too easy to crash by accident when using dump_hex() on any
area. Let's have a function to check if the memory may safely be read
first. This one abuses the stat() syscall checking if it returns EFAULT
or not, in which case it means we're not allowed to read from there. In
other situations it may return other codes or even a success if the
area pointed to by the file exists. It's important not to abuse it
though and as such it's tested only once per output line.
