On Fri, 28 Aug 2009, Subrata Modak wrote:
> On Fri, 2009-08-28 at 11:38 +0530, Subrata Modak wrote:
> > On Thu, 2009-08-27 at 17:29 +0200, Geert Uytterhoeven wrote: 
> > > On Thu, 27 Aug 2009, Geert Uytterhoeven wrote:
> > > > When the quotactl syscall fails, quotactl01 crashes with a segmentation 
> > > > fault
> > > > due to an incorrect printf()-style format.
> > > 
> > > This bug encouraged me to add annotations to the test helpers that take
> > > printf()-style formats, cfr. the patch below.
> > > 
> > > It causes a massive amount of compiler warnings, most of them caused by
> > > TEST_ERRNO being long. According to CVS history, both TEST_RETURN and
> > > TEST_ERRNO have been changed from int to long to accomodate 64-bit 
> > > platforms,
> > > but to me the change of TEST_ERRNO looks bogus.
> > > As errno is int according to C99, TEST_ERRNO should actually be int too, 
> > > right? 
> > > 
> > > Note that there are also a few other cases where integers are used on 
> > > pointer
> > > type format specifiers. These will cause crashes when the code path is
> > > executed.
> > > 
> > > >From 601578f79c05779acefe023fd499726d9fe4ce03 Mon Sep 17 00:00:00 2001
> > > From: Geert Uytterhoeven <[email protected]>
> > > Date: Thu, 27 Aug 2009 17:08:18 +0200
> > > Subject: [PATCH] Annotate tst_*() helpers with __attribute__ ((format 
> > > (printf, M, N)))
> > > 
> > > Signed-off-by: Geert Uytterhoeven <[email protected]>
> > 
> > Ok. Thanks.
> 
> Sorry. I need to revert this as it generates a huge set of warning for
> all the tests compiled. It should not only get fixed at test.h, but also
> in all tests that uses the tst_* family of functions, which obviously is
> too big to fix.

Yes, it should be fixed elsewhere, too. Reverting TEST_ERRNO to int should kill
a few thousand of them...

But without enabling the warnings, you don't notice the real bugs, where
integers are passed instead of string pointers.

With kind regards,

Geert Uytterhoeven
Software Architect
Techsoft Centre

Technology and Software Centre Europe
The Corporate Village · Da Vincilaan 7-D1 · B-1935 Zaventem · Belgium

Phone:    +32 (0)2 700 8453
Fax:      +32 (0)2 700 8622
E-mail:   [email protected]
Internet: http://www.sony-europe.com/

A division of Sony Europe (Belgium) N.V.
VAT BE 0413.825.160 · RPR Brussels
Fortis · BIC GEBABEBB · IBAN BE41293037680010

------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
trial. Simplify your report design, integration and deployment - and focus on 
what you do best, core application coding. Discover what's new with 
Crystal Reports now.  http://p.sf.net/sfu/bobj-july
_______________________________________________
Ltp-list mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/ltp-list

Reply via email to