https://bugs.kde.org/show_bug.cgi?id=380491
Fabian Vogt <fab...@ritter-vogt.de> changed: What |Removed |Added ---------------------------------------------------------------------------- Latest Commit| |https://commits.kde.org/ksc | |reenlocker/23fa33cedfa55cba | |c83bbdcc514b988d721552dc Status|CONFIRMED |RESOLVED Resolution|--- |FIXED --- Comment #7 from Fabian Vogt <fab...@ritter-vogt.de> --- Git commit 23fa33cedfa55cbac83bbdcc514b988d721552dc by Fabian Vogt. Committed on 04/06/2017 at 18:57. Pushed by fvogt into branch 'Plasma/5.10'. Fixup protocol mismatch between greeter and kcheckpass Summary: The receiver (kcheckpass) reads a string and if it is !nullptr, reads an int: msg = GRecvStr (); if (msg && (GRecvInt() & IsPassword) && !*msg) The sender (kscreenlocker_greet) sends a string and if it is not empty, sends an int: GSendStr(m_password.toUtf8().constData()); if (!m_password.isEmpty()) { // IsSecret GSendInt(1); } This does not work out for empty strings, as those still have a length of 1, resulting in kcheckpass waiting indefinitely for an int that does not get sent. Testing for a nullptr on the sender side instead of the string length fixes this. Also clean up the code duplication and IsSecret (1)/IsPassword (2) mismatch. Test Plan: Reproduced the bug without this patch, with this patch it does not happen anymore. Authentication still works and fails as expected. Reviewers: #plasma Subscribers: plasma-devel Tags: #plasma Differential Revision: https://phabricator.kde.org/D6091 M +7 -15 greeter/authenticator.cpp https://commits.kde.org/kscreenlocker/23fa33cedfa55cbac83bbdcc514b988d721552dc -- You are receiving this mail because: You are watching all bug changes.