Patchwork block/ssh: Add missing gcc format attributes

login
register
mail settings
Submitter Stefan Weil
Date April 18, 2013, 8:21 p.m.
Message ID <1366316465-32710-1-git-send-email-sw@weilnetz.de>
Download mbox | patch
Permalink /patch/237732/
State Accepted
Headers show

Comments

Stefan Weil - April 18, 2013, 8:21 p.m.
Now gcc will check whether format string and variable arguments match.

Signed-off-by: Stefan Weil <sw@weilnetz.de>
---

Please note: I could only run limited tests with the new code
because ssh.c is currently not compiled in my w32/w64 environment.

Regards,
Stefan W.

 block/ssh.c |    4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
Stefan Weil - April 18, 2013, 8:42 p.m.
Am 18.04.2013 22:21, schrieb Stefan Weil:
> Now gcc will check whether format string and variable arguments match.
>
> Signed-off-by: Stefan Weil <sw@weilnetz.de>
> ---
>
> Please note: I could only run limited tests with the new code
> because ssh.c is currently not compiled in my w32/w64 environment.
>
> Regards,
> Stefan W.

The test fails on current Debian (squeeze), not because of wrong
format specifiers, but because of an "old" libssh2-1-dev.

ssh.c calls libssh2_session_handshake which was added in 1.2.8,
see http://www.libssh2.org/libssh2_session_handshake.html.

Can we simplify the libssh2 check in configure and require
pkg-config, no compile check?

Regards,
Stefan W.
Richard W.M. Jones - April 18, 2013, 9:07 p.m.
On Thu, Apr 18, 2013 at 10:21:05PM +0200, Stefan Weil wrote:
> Now gcc will check whether format string and variable arguments match.
> 
> Signed-off-by: Stefan Weil <sw@weilnetz.de>

ACK, this looks fine to me.

Rich.
Richard W.M. Jones - April 18, 2013, 9:08 p.m.
On Thu, Apr 18, 2013 at 10:42:09PM +0200, Stefan Weil wrote:
> Am 18.04.2013 22:21, schrieb Stefan Weil:
> > Now gcc will check whether format string and variable arguments match.
> >
> > Signed-off-by: Stefan Weil <sw@weilnetz.de>
> > ---
> >
> > Please note: I could only run limited tests with the new code
> > because ssh.c is currently not compiled in my w32/w64 environment.
> >
> > Regards,
> > Stefan W.
> 
> The test fails on current Debian (squeeze), not because of wrong
> format specifiers, but because of an "old" libssh2-1-dev.
> 
> ssh.c calls libssh2_session_handshake which was added in 1.2.8,
> see http://www.libssh2.org/libssh2_session_handshake.html.
> 
> Can we simplify the libssh2 check in configure and require
> pkg-config, no compile check?

Sounds fine to me.  Did you mean you want me to provide a patch?

Rich.
Stefan Weil - April 19, 2013, 4:10 a.m.
Am 18.04.2013 23:08, schrieb Richard W.M. Jones:
> On Thu, Apr 18, 2013 at 10:42:09PM +0200, Stefan Weil wrote:
>> The test fails on current Debian (squeeze), not because of wrong
>> format specifiers, but because of an "old" libssh2-1-dev.
>>
>> ssh.c calls libssh2_session_handshake which was added in 1.2.8,
>> see http://www.libssh2.org/libssh2_session_handshake.html.
>>
>> Can we simplify the libssh2 check in configure and require
>> pkg-config, no compile check?
> Sounds fine to me.  Did you mean you want me to provide a patch?
>
> Rich.
>

Yes, that would be good.

Stefan
Stefan Hajnoczi - April 19, 2013, 9:44 a.m.
On Thu, Apr 18, 2013 at 10:21:05PM +0200, Stefan Weil wrote:
> Now gcc will check whether format string and variable arguments match.
> 
> Signed-off-by: Stefan Weil <sw@weilnetz.de>
> ---
> 
> Please note: I could only run limited tests with the new code
> because ssh.c is currently not compiled in my w32/w64 environment.
> 
> Regards,
> Stefan W.
> 
>  block/ssh.c |    4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)

Thanks, applied to the trivial patches tree:
https://github.com/stefanha/qemu/commits/trivial-patches

Stefan

Patch

diff --git a/block/ssh.c b/block/ssh.c
index 8f78e2e..b4e048c 100644
--- a/block/ssh.c
+++ b/block/ssh.c
@@ -109,7 +109,7 @@  static void ssh_state_free(BDRVSSHState *s)
 /* Wrappers around error_report which make sure to dump as much
  * information from libssh2 as possible.
  */
-static void
+static void GCC_FMT_ATTR(2, 3)
 session_error_report(BDRVSSHState *s, const char *fs, ...)
 {
     va_list args;
@@ -132,7 +132,7 @@  session_error_report(BDRVSSHState *s, const char *fs, ...)
     error_printf("\n");
 }
 
-static void
+static void GCC_FMT_ATTR(2, 3)
 sftp_error_report(BDRVSSHState *s, const char *fs, ...)
 {
     va_list args;