summaryrefslogtreecommitdiff
Side-by-side diff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--core/opie-login/loginwindowimpl.cpp25
-rw-r--r--noncore/apps/opie-reader/Bkmks.cpp1
2 files changed, 22 insertions, 4 deletions
diff --git a/core/opie-login/loginwindowimpl.cpp b/core/opie-login/loginwindowimpl.cpp
index 547a9b3..b9a286d 100644
--- a/core/opie-login/loginwindowimpl.cpp
+++ b/core/opie-login/loginwindowimpl.cpp
@@ -227,11 +227,25 @@ void LoginWindowImpl::login ( )
{
- const char *user = ::strdup ( m_user-> currentText ( ). local8Bit ( ));
- const char *pass = ::strdup ( m_password-> text ( ). local8Bit ( ));
+ char *const user = ::strdup ( m_user-> currentText ( ). local8Bit ( ));
+ char *pass = ::strdup ( m_password-> text ( ). local8Bit ( ));
- if ( !user || !user [0] )
+ if ( !user ) {
+ if ( pass )
+ free( pass );
return;
- if ( !pass )
+ }
+ if ( !user [0] ) {
+ free( user );
+ if ( pass )
+ free( pass );
+ return;
+ }
+ bool passwordIsEmpty = false;
+ if ( !pass ) {
+ passwordIsEmpty = true;
pass = "";
+ }
if ( lApp-> checkPassword ( user, pass )) {
+ if ( !passwordIsEmpty )
+ free(pass);
Config cfg ( "opie-login" );
@@ -251,2 +265,5 @@ void LoginWindowImpl::login ( )
m_password-> clear ( );
+ free( user );
+ if ( !passwordIsEmpty )
+ free( pass );
}
diff --git a/noncore/apps/opie-reader/Bkmks.cpp b/noncore/apps/opie-reader/Bkmks.cpp
index 28f6318..00141a3 100644
--- a/noncore/apps/opie-reader/Bkmks.cpp
+++ b/noncore/apps/opie-reader/Bkmks.cpp
@@ -321,2 +321,3 @@ Bkmk* BkmkFile::read03(BkmkFile* /*_this*/, FILE* f)
b = new Bkmk(name,anno,pos);
+ delete [] anno;
}