summaryrefslogtreecommitdiffstats
path: root/src/extension
diff options
context:
space:
mode:
authorJosh Andler <scislac@gmail.com>2009-12-16 21:27:19 +0000
committerJosh Andler <scislac@gmail.com>2009-12-16 21:27:19 +0000
commit2e2d12079c6034d82a8d70db7e2c8a0f0199ff5f (patch)
treecffe6759e653c409ca2419e6405eb3e7616dfa85 /src/extension
parentEmbedimage extension fix and stderr Unicode support in inkex.py (diff)
downloadinkscape-2e2d12079c6034d82a8d70db7e2c8a0f0199ff5f.tar.gz
inkscape-2e2d12079c6034d82a8d70db7e2c8a0f0199ff5f.zip
Patches 3-11 from 488862 for a number of memleaks and allocation/deallocation issues.
(bzr r8891)
Diffstat (limited to 'src/extension')
-rw-r--r--src/extension/dxf2svg/entities2elements.cpp4
-rw-r--r--src/extension/internal/emf-win32-inout.cpp1
-rw-r--r--src/extension/internal/odf.cpp4
-rw-r--r--src/extension/internal/pdfinput/pdf-input.cpp1
-rw-r--r--src/extension/internal/pdfinput/svg-builder.cpp4
5 files changed, 8 insertions, 6 deletions
diff --git a/src/extension/dxf2svg/entities2elements.cpp b/src/extension/dxf2svg/entities2elements.cpp
index cf42dac32..ab160e265 100644
--- a/src/extension/dxf2svg/entities2elements.cpp
+++ b/src/extension/dxf2svg/entities2elements.cpp
@@ -80,7 +80,7 @@ void pline2svg(polyline pline, int type, int precision, char * units, double sca
// 2 is pline2polygon
- char delim[1];
+ char delim[2];
double mag_bulge = 0;
double prev_mag_bulge = 0;
@@ -185,7 +185,7 @@ void lwpline2svg(lwpolyline pline, int type, int precision, char * units, double
// 2 is pline2polygon
- char delim[1];
+ char delim[2];
double mag_bulge = 0;
double prev_mag_bulge = 0;
diff --git a/src/extension/internal/emf-win32-inout.cpp b/src/extension/internal/emf-win32-inout.cpp
index f400a3649..9d25f3a7f 100644
--- a/src/extension/internal/emf-win32-inout.cpp
+++ b/src/extension/internal/emf-win32-inout.cpp
@@ -127,6 +127,7 @@ emf_print_document_to_file(SPDocument *doc, gchar const *filename)
/* Print document */
ret = mod->begin(doc);
if (ret) {
+ g_free(oldoutput);
throw Inkscape::Extension::Output::save_failed();
}
sp_item_invoke_print(mod->base, &context);
diff --git a/src/extension/internal/odf.cpp b/src/extension/internal/odf.cpp
index cc8489302..46e0361ce 100644
--- a/src/extension/internal/odf.cpp
+++ b/src/extension/internal/odf.cpp
@@ -795,8 +795,8 @@ void SingularValueDecomposition::calculate()
}
}
- delete e;
- delete work;
+ delete [] e;
+ delete [] work;
}
diff --git a/src/extension/internal/pdfinput/pdf-input.cpp b/src/extension/internal/pdfinput/pdf-input.cpp
index c2d417f2c..ba00fe343 100644
--- a/src/extension/internal/pdfinput/pdf-input.cpp
+++ b/src/extension/internal/pdfinput/pdf-input.cpp
@@ -734,6 +734,7 @@ PdfInput::open(::Inkscape::Extension::Input * /*mod*/, const gchar * uri) {
delete builder;
g_free(docname);
delete pdf_doc;
+ delete dlg;
// Restore undo
sp_document_set_undo_sensitive(doc, saved);
diff --git a/src/extension/internal/pdfinput/svg-builder.cpp b/src/extension/internal/pdfinput/svg-builder.cpp
index 00bd8fa4d..b9583545f 100644
--- a/src/extension/internal/pdfinput/svg-builder.cpp
+++ b/src/extension/internal/pdfinput/svg-builder.cpp
@@ -1536,7 +1536,7 @@ Inkscape::XML::Node *SvgBuilder::_createImage(Stream *str, int width, int height
}
png_write_row(png_ptr, (png_bytep)buffer);
}
- delete buffer;
+ delete [] buffer;
} else if (color_map) {
image_stream = new ImageStream(str, width,
color_map->getNumPixelComps(),
@@ -1575,7 +1575,7 @@ Inkscape::XML::Node *SvgBuilder::_createImage(Stream *str, int width, int height
png_write_row(png_ptr, (png_bytep)buffer);
}
}
- delete buffer;
+ delete [] buffer;
} else { // A colormap must be provided, so quit
png_destroy_write_struct(&png_ptr, &info_ptr);