Skip to content

Commit 0576cf7

Browse files
author
Erika
committed
do not close app if alice has successfully started at app start, interrupt signal decryption if message is not a signal message
1 parent 398838c commit 0576cf7

File tree

3 files changed

+10
-4
lines changed

3 files changed

+10
-4
lines changed

electron_app/electron-starter.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ async function initApp() {
4141
console.log(ex);
4242
}
4343

44-
await startAlice();
44+
await startAlice(true);
4545
await checkReachability();
4646

4747
const [existingAccount] = await dbManager.getAccount();

electron_app/src/aliceManager.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@ const getPassword = () => {
7575
return password;
7676
};
7777

78-
const startAlice = async () => {
78+
const startAlice = async onAppOpened => {
7979
aliceStartTimeout = null;
8080
if (!alice) {
8181
const myPort = await portscanner.findAPortNotInUse(8085);
@@ -103,7 +103,7 @@ const startAlice = async () => {
103103
`Unable to initialize encryption service. ${data}`
104104
);
105105
console.log(`-----alice-----\nError:\n${data}\n -----end-----`);
106-
app.quit();
106+
if (onAppOpened) app.quit();
107107
});
108108
alice.stdout.setEncoding('utf8');
109109
alice.stdout.on('data', data => {
@@ -116,7 +116,7 @@ const startAlice = async () => {
116116
return;
117117
}
118118
aliceStartTimeout = setTimeout(() => {
119-
startAlice();
119+
startAlice(onAppOpened);
120120
}, 500);
121121
});
122122

signal_interface/src/crypto/signal.cpp

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,11 +64,17 @@ int CriptextSignal::decryptText(uint8_t **plaintext_data, size_t *plaintext_len,
6464
const uint8_t *messageData = reinterpret_cast<const uint8_t*>(textFromB64);
6565
signal_message *incoming_message = 0;
6666
signal_message_deserialize(&incoming_message, messageData, decode_len, global_context);
67+
if (incoming_message <= 0) {
68+
return -2
69+
}
6770
result = session_cipher_decrypt_signal_message(session_cipher, incoming_message, 0, &plainMessage);
6871
} else {
6972
const uint8_t *preKeyMessageData = reinterpret_cast<const uint8_t*>(textFromB64);
7073
pre_key_signal_message *incoming_message = 0;
7174
pre_key_signal_message_deserialize(&incoming_message, preKeyMessageData, decode_len, global_context);
75+
if (incoming_message <= 0) {
76+
return -2
77+
}
7278
result = session_cipher_decrypt_pre_key_signal_message(session_cipher, incoming_message, 0, &plainMessage);
7379
}
7480

0 commit comments

Comments
 (0)