Skip to content

Commit 060e52a

Browse files
committed
Don't modify passed in session in createSessionFromPreKeyWhisperMessage
1 parent b52f449 commit 060e52a

File tree

4 files changed

+9
-13
lines changed

4 files changed

+9
-13
lines changed

bower.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "axolotl",
33
"main": "dist/axolotl.js",
4-
"version": "1.2.0",
4+
"version": "1.2.1",
55
"authors": [
66
"Joe Bandenburg <joe@bandenburg.com>"
77
],

dist/axolotl.js

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1668,7 +1668,7 @@
16681668
}, $__12, this);
16691669
}));
16701670
self.createSessionFromPreKeyWhisperMessage = co.wrap($traceurRuntime.initGeneratorFunction(function $__20(session, preKeyWhisperMessageBytes) {
1671-
var preKeyWhisperMessage, message, $__8, $__9, cachedSessionState, ourSignedPreKeyPair, preKeyPair, bobParameters, sessionState, $__21, $__22, $__23, $__24, $__25, $__26, $__27, $__28;
1671+
var preKeyWhisperMessage, message, $__8, $__9, cachedSessionState, ourSignedPreKeyPair, preKeyPair, bobParameters, sessionState, clonedSession, $__21, $__22, $__23, $__24, $__25, $__26, $__27, $__28;
16721672
return $traceurRuntime.createGeneratorInstance(function ($ctx) {
16731673
while (true)
16741674
switch ($ctx.state) {
@@ -1756,14 +1756,12 @@
17561756
break;
17571757
case 29:
17581758
sessionState.theirBaseKey = message.baseKey;
1759-
if (!session) {
1760-
session = new Session();
1761-
}
1762-
session.addState(sessionState);
1759+
clonedSession = new Session(session);
1760+
clonedSession.addState(sessionState);
17631761
$ctx.state = 35;
17641762
break;
17651763
case 35:
1766-
$ctx.returnValue = session;
1764+
$ctx.returnValue = clonedSession;
17671765
$ctx.state = -2;
17681766
break;
17691767
default:

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "axolotl",
3-
"version": "1.2.0",
3+
"version": "1.2.1",
44
"description": "An indepedent JavaScript implementation of Axolotl. Axolotl is a ratcheting forward secrecy protocol.",
55
"main": "dist/axolotl.js",
66
"directories": {

src/SessionFactory.js

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -129,11 +129,9 @@ function SessionFactory(crypto, store) {
129129

130130
var sessionState = yield initializeBobSession(bobParameters);
131131
sessionState.theirBaseKey = message.baseKey;
132-
if (!session) {
133-
session = new Session();
134-
}
135-
session.addState(sessionState);
136-
return session;
132+
var clonedSession = new Session(session);
133+
clonedSession.addState(sessionState);
134+
return clonedSession;
137135
});
138136

139137
// TODO: Implement

0 commit comments

Comments
 (0)