diff options
author | John McLear <john@mclear.co.uk> | 2015-12-01 17:50:29 +0000 |
---|---|---|
committer | John McLear <john@mclear.co.uk> | 2015-12-01 17:50:29 +0000 |
commit | f44c444720013fbb4a5e262367172f4fde00ba75 (patch) | |
tree | 60d777ad99cdcd5733d0a92084d9c2b66f26c62a /src | |
parent | 16bb28a0ffe155e40bc778a2ff21b1bc444fd77f (diff) | |
parent | 2bd698343a586f627e8b577da2e190d37592e77a (diff) | |
download | etherpad-lite-f44c444720013fbb4a5e262367172f4fde00ba75.zip |
Merge pull request #2831 from fcassin/develop
Protect against a null atext value in cloneAText
Diffstat (limited to 'src')
-rw-r--r-- | src/node/db/Pad.js | 7 | ||||
-rw-r--r-- | src/static/js/Changeset.js | 10 |
2 files changed, 12 insertions, 5 deletions
diff --git a/src/node/db/Pad.js b/src/node/db/Pad.js index 83e15e6d..5d26f470 100644 --- a/src/node/db/Pad.js +++ b/src/node/db/Pad.js @@ -188,7 +188,12 @@ Pad.prototype.getInternalRevisionAText = function getInternalRevisionAText(targe db.getSub("pad:"+_this.id+":revs:"+keyRev, ["meta", "atext"], function(err, _atext) { if(ERR(err, callback)) return; - atext = Changeset.cloneAText(_atext); + try { + atext = Changeset.cloneAText(_atext); + } catch (e) { + return callback(e); + } + callback(); }); }, diff --git a/src/static/js/Changeset.js b/src/static/js/Changeset.js index 04a05514..6f6e7d09 100644 --- a/src/static/js/Changeset.js +++ b/src/static/js/Changeset.js @@ -1628,10 +1628,12 @@ exports.applyToAText = function (cs, atext, pool) { * @param atext {AText} */ exports.cloneAText = function (atext) { - return { - text: atext.text, - attribs: atext.attribs - }; + if (atext) { + return { + text: atext.text, + attribs: atext.attribs + } + } else exports.error("atext is null"); }; /** |