projects
/
pspp
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Gnumeric Reader: Fix memory leak
[pspp]
/
src
/
data
/
gnumeric-reader.c
diff --git
a/src/data/gnumeric-reader.c
b/src/data/gnumeric-reader.c
index e0e95069b602fb38a3794ca2075d70ed50bf77b5..0783e10f7c1b33452222b82238d95d51ae582004 100644
(file)
--- a/
src/data/gnumeric-reader.c
+++ b/
src/data/gnumeric-reader.c
@@
-189,6
+189,8
@@
gnumeric_unref (struct spreadsheet *s)
free (r->sheets);
state_data_destroy (&r->msd);
free (r->sheets);
state_data_destroy (&r->msd);
+ free (s->file_name);
+
free (r);
}
}
free (r);
}
}
@@
-555,7
+557,7
@@
gnumeric_reopen (struct gnumeric_reader *r, const char *filename, bool show_erro
{
r = xzalloc (sizeof *r);
r->spreadsheet.n_sheets = -1;
{
r = xzalloc (sizeof *r);
r->spreadsheet.n_sheets = -1;
- r->spreadsheet.file_name =
filename
;
+ r->spreadsheet.file_name =
strdup (filename)
;
sd = &r->msd;
}
else
sd = &r->msd;
}
else
@@
-589,8
+591,7
@@
gnumeric_reopen (struct gnumeric_reader *r, const char *filename, bool show_erro
if ( ret != 1)
{
/* Does not seem to be a gnumeric file */
if ( ret != 1)
{
/* Does not seem to be a gnumeric file */
- xmlFreeTextReader (sd->xtr);
- free (r);
+ gnumeric_unref (&r->spreadsheet);
return NULL;
}
return NULL;
}