On Fri, May 23, 2014 at 02:36:59PM +0200, Noël Köthe wrote: > Hello Alexander, > > Am Freitag, den 23.05.2014, 11:16 +0400 schrieb Alexander V. Lukyanov: > > > lftp-4.5.0 has been released. Changes: > > I'm trying to build this new version but run into this error: > > Torrent.cc:2869:69: error: format not a string literal and no format > arguments [-Werror=format-security] > LogError(4,dc=_("peer closed connection (before handshake)"));
Nice catch. In fact there was also a logic error which caused %s to stay in the disconnect cause. Here is a patch to fix it. -- Alexander.
diff --git a/src/Torrent.cc b/src/Torrent.cc index 4eb1e4d..1ce4ea6 100644 --- a/src/Torrent.cc +++ b/src/Torrent.cc @@ -2861,14 +2861,17 @@ int TorrentPeer::Do() if(s==UNPACK_NO_DATA_YET) return m; if(s!=UNPACK_SUCCESS) { - const char *dc=0; if(s==UNPACK_PREMATURE_EOF) { - if(recv_buf->Size()>0) - LogError(2,dc=_("peer unexpectedly closed connection after %s"),recv_buf->Dump()); - else - LogError(4,dc=_("peer closed connection (before handshake)")); + if(recv_buf->Size()>0) { + LogError(2,_("peer unexpectedly closed connection after %s"),recv_buf->Dump()); + Disconnect(_("peer unexpectedly closed connection")); + } else { + LogError(4,_("peer closed connection (before handshake)")); + Disconnect(_("peer closed connection (before handshake)")); + } + } else { + Disconnect(_("invalid peer response format")); } - Disconnect(dc); return MOVED; } if(!parent->HasMetadata() && !LTEPExtensionEnabled()) { @@ -2976,12 +2979,13 @@ int TorrentPeer::Do() return m; if(st!=UNPACK_SUCCESS) { - const char *dc=0; - if(st==UNPACK_PREMATURE_EOF) - LogError(2,dc=_("peer unexpectedly closed connection after %s"),recv_buf->Dump()); - else - LogError(2,dc=_("invalid peer response format")); - Disconnect(dc); + if(st==UNPACK_PREMATURE_EOF) { + LogError(2,_("peer unexpectedly closed connection after %s"),recv_buf->Dump()); + Disconnect(_("peer unexpectedly closed connection")); + } else { + LogError(2,_("invalid peer response format")); + Disconnect(_("invalid peer response format")); + } return MOVED; } reply->DropData(recv_buf);
_______________________________________________ lftp mailing list lftp@uniyar.ac.ru http://univ.uniyar.ac.ru/mailman/listinfo/lftp