@@ -968,7 +968,15 @@ QByteArray MPDevice::getMemoryFirstNodeAddress(void)
968968 if (isBLE ())
969969 {
970970 /* BLE: Address format is 2 bytes little endian. last 1 bit is node number (for pages that can accomodate 2 nodes) and first 15 bits are page address */
971- return QByteArray::fromHex (" 0200" );
971+ auto flashMbSize = get_flashMbSize ();
972+ if (1 == flashMbSize || 2 == flashMbSize || 32 == flashMbSize)
973+ {
974+ return QByteArray::fromHex (" 0100" );
975+ }
976+ else
977+ {
978+ return QByteArray::fromHex (" 0200" );
979+ }
972980 }
973981 /* Address format is 2 bytes little endian. last 3 bits are node number and first 13 bits are page address */
974982 switch (get_flashMbSize ())
@@ -7093,7 +7101,7 @@ void MPDevice::moveFetchedNodes(NodeList &sourceNodes, NodeList &sourceNodesClon
70937101 */
70947102 auto nodeAddr = node->getAddress ();
70957103 auto cloneNode = std::find_if (sourceNodesClone.begin (), sourceNodesClone.end (),
7096- [nodeAddr](MPNode *n) { return nodeAddr. compare ( n->getAddress ()) == 0 ; });
7104+ [nodeAddr](MPNode *n) { return nodeAddr == n->getAddress (); });
70977105 if (cloneNode != sourceNodesClone.end ())
70987106 {
70997107 destNodesClone.append (*cloneNode);
@@ -7128,7 +7136,7 @@ void MPDevice::moveFetchedFido2Nodes()
71287136 webAuthnLoginChildNodes.append (node);
71297137 auto nodeAddr = node->getAddress ();
71307138 auto cloneNode = std::find_if (loginChildNodesClone.begin (), loginChildNodesClone.end (),
7131- [nodeAddr](MPNode *n) { return nodeAddr. compare ( n->getAddress ()) == 0 ; });
7139+ [nodeAddr](MPNode *n) { return nodeAddr == n->getAddress (); });
71327140 if (cloneNode != loginChildNodesClone.end ())
71337141 {
71347142 webAuthnLoginChildNodesClone.append (*cloneNode);
@@ -7166,14 +7174,14 @@ void MPDevice::moveFetchedFido2Nodes()
71667174 auto firstChildNode = parentNode->getStartChildAddress ();
71677175 // Search parent's first child in webauthn child list
71687176 auto webAuthNode = std::find_if (webAuthnLoginChildNodes.begin (), webAuthnLoginChildNodes.end (),
7169- [firstChildNode](MPNode *n) { return firstChildNode. compare ( n->getAddress ()) == 0 ; });
7177+ [firstChildNode](MPNode *n) { return firstChildNode == n->getAddress (); });
71707178 if (webAuthNode != webAuthnLoginChildNodes.end ())
71717179 {
71727180 // Need to move parent to webAuthnLoginNodes
71737181 webAuthnLoginNodes.append (parentNode);
71747182 auto nodeAddr = parentNode->getAddress ();
71757183 auto cloneNode = std::find_if (loginNodesClone.begin (), loginNodesClone.end (),
7176- [nodeAddr](MPNode *n) { return nodeAddr. compare ( n->getAddress ()) == 0 ; });
7184+ [nodeAddr](MPNode *n) { return nodeAddr == n->getAddress (); });
71777185 if (cloneNode != loginNodesClone.end ())
71787186 {
71797187 webAuthnLoginNodesClone.append (*cloneNode);
0 commit comments