I experience a memory leak in fossildelta.c using the delta_parse()
table-valued function.

Given this schema:

  CREATE TABLE t (x, y, d);
  INSERT INTO t VALUES (' +
    X'112233445566778899AABBCCDDEEFF',
    X'112233445566778899AABBCCDDEE11',
    Null);' +
  UPDATE t SET d = delta_create(x, y);

This call triggers the leak:

  SELECT op, a1 FROM delta_parse((SELECT d FROM t LIMIT 1));

It seems that the memory allocated here

  https://www.sqlite.org/src/artifact/910510968a30ab77?ln=979

is never freed.

Without further testing, the leak seems to be fixed by adding

  sqlite3_free(pCur->aDelta);

to deltaparsevtabClose():

  https://www.sqlite.org/src/artifact/910510968a30ab77?ln=850-854

Ralf
_______________________________________________
sqlite-users mailing list
sqlite-users@mailinglists.sqlite.org
http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to