Hello!
The attachted patch fixes it for me.
What is missing is an appropriate error check in
source/libidb/libidb.cpp for grow() failing.
BYtE
Philipp
--
Philipp Matthias Hahn <[EMAIL PROTECTED]>
GPG/PGP: 9A540E39 @ keyrings.debian.org
Index: source/libidb/libidb.cpp
===================================================================
--- source/libidb/libidb.cpp (Revision 518)
+++ source/libidb/libidb.cpp (Arbeitskopie)
@@ -120,6 +120,11 @@
char * _BDATA::text()
{
+ if( data_size == data_real)
+ {
+ grow( data_real + 1 );
+ }
+ data_buff[ data_size ] = '\0';
return ( char * ) data_buff;
}
Index: source/iked/ike.peerid.cpp
===================================================================
--- source/iked/ike.peerid.cpp (Revision 518)
+++ source/iked/ike.peerid.cpp (Arbeitskopie)
@@ -91,7 +91,7 @@
if( ph1->tunnel->peer->iddata_l.size() )
{
ph1id.addr.s_addr =
- inet_addr( ( char * ) ph1->tunnel->peer->iddata_l.buff() );
+ inet_addr( ph1->tunnel->peer->iddata_l.text() );
}
else
{
@@ -160,7 +160,7 @@
if( ph1->tunnel->peer->iddata_r.size() )
{
ph1id.addr.s_addr =
- inet_addr( ( char * ) ph1->tunnel->peer->iddata_r.buff() );
+ inet_addr( ph1->tunnel->peer->iddata_r.text() );
}
else
{