Re: latest printf code

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 04/11/2019 22:27, Luc Van Oostenryck wrote:
On Mon, Nov 04, 2019 at 10:46:44PM +0100, Luc Van Oostenryck wrote:
On Fri, Nov 01, 2019 at 04:36:51PM +0000, Ben Dooks wrote:
I've put the latest code up at:

  https://github.com/bjdooks-ct/sparse bjdooks/printf20

I think it has all the issues dealt with.

I can't currently post or do a final test as away from work laptop.

Thank you.

I think that the only missign thing are:
1) eliminate the call to strcmp() on the typediff
2) do a custom type checking instead of calling check_assignment_types()

What is your plan about them?

see below

There is also one more thing I would like: it's that you move all the
code in evaluate.c in a separated file (for example verify-format.c)
and have just verify_format_attribute() exported. For the moment, it's
not really possible because of the dependence on check_assignment_types()
but it can nicely be do,e once 1) & 2) are done.

I was wondering if we could do something like export the check_assignment_types and maybe also add check_pointer_asn() in
evaluate.c? The code in check_assignment_types is quite long and
I am not sure I really want to try and recreate it.

I'm still not quite sure over the rules over what is and isn't allowed
to printf, it may be that we need to be able to get the sizes of the
types and verify those, which is very architecture specific.

-- Luc

I would like to see this merged soon, as it looks like I will be doing
an amount of travelling for work, which can be time consuming and tiring.

--
Ben Dooks				http://www.codethink.co.uk/
Senior Engineer				Codethink - Providing Genius

https://www.codethink.co.uk/privacy.html



[Index of Archives]     [Newbies FAQ]     [LKML]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Trinity Fuzzer Tool]

  Powered by Linux