Skip to content

Commit 1808a78

Browse files
committed
remove memory leak from creating persistent strings
1 parent 4e18119 commit 1808a78

File tree

2 files changed

+5
-2
lines changed

2 files changed

+5
-2
lines changed

src/statement.cc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,7 @@ Handle<Value> Statement::New(const Arguments& args) {
100100
Database* db = ObjectWrap::Unwrap<Database>(args[0]->ToObject());
101101
Local<String> sql = Local<String>::Cast(args[1]);
102102

103-
args.This()->Set(String::NewSymbol("sql"), Persistent<String>::New(sql), ReadOnly);
103+
args.This()->Set(String::NewSymbol("sql"), sql, ReadOnly);
104104

105105
Statement* stmt = new Statement(db);
106106
stmt->Wrap(args.This());

test/prepare.test.js

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,10 @@ exports['test inserting and retrieving rows'] = function(beforeExit) {
6767
function(err, rows) {
6868
if (err) throw err;
6969
inserted += rows.length;
70-
var stmt = db.prepare("SELECT txt, num, flt, blb FROM foo ORDER BY num");
70+
var stmt = db.prepare("SELECT txt, num, flt, blb FROM foo ORDER BY num", function(err) {
71+
if (err) throw err;
72+
assert.equal(stmt.sql, 'SELECT txt, num, flt, blb FROM foo ORDER BY num');
73+
});
7174

7275
var group = this.group();
7376
for (var i = 0; i < count + 5; i++) {

0 commit comments

Comments
 (0)