[PATCH] Remove extra 0x in the %p formatting string
Franz.Sirl-kernel at lauterbach.com
Wed May 16 16:18:24 UTC 2018
Am 2018-05-16 um 15:38 schrieb Timur I. Bakeyev via samba-technical:
> On 12 May 2018 at 10:35, Martin Schwenke <martin at meltin.net> wrote:
>> Hi Timur,
>>> Hi all!
>>> While analyzing debug logs of our customer, I've noticed strange looking
>>> lines like:
>>> [2018/05/09 16:02:52.629315, 10, pid=907, effective(1001, 1001), real(0,
>>> 0)] ../source3/smbd/open.c:5543(create_file_default)
>>> create_file: access_mask = 0x100080 file_attributes = 0x10,
>>> = 0x7, create_disposition = 0x1 create_options = 0x1 oplock_request = 0x0
>>> private_flags = 0x0 root_dir_fid = 0x0, ea_list = 0x0x0, sd = 0x0x0,
>>> = .
>>> That 0x0x0 puzzled me and short investigation showed that in few places
>>> use "0x%p" format string to represent buffer address in the debug logs.
>>> page for *printf says:
>>> p The void * pointer argument is printed in hexadecimal
>>> by ‘%#x’ or ‘%#lx’).
>>> I.e. the address will be already prefixed with the 0x, no need to
>>> explicitly add it.
>>> Here is a small patch.
>> Looks good.
>> For the changes in lib/dbwrap/dbwrap_tdb.c and source3/smbd/open.c, can
>> you please modernise the debug statements that you touch by changing
>> them as below?
>> DEBUG(10, (...));
>> With that:
>> Reviewed-by: Martin Schwenke <martin at meltin.net>
> Thanks for the review, Martin!
> Here are the patches that should fit you requirements, I hope.
> List, can I get a second review, please :)?
Note that %p is not portable, for example Solaris 10/11 don't prefix 0x
to the value. And glibc prints "(nil)" for a NULL-pointer.
More information about the samba-technical