parameters ending with '\' causes python to bomb
| Affects | Status | Importance | Assigned to | Milestone | |
|---|---|---|---|---|---|
| Inkscape |
Fix Released
|
High
|
jazzynico | ||
| inkscape (Ubuntu) |
Fix Released
|
Low
|
Unassigned | ||
Bug Description
Steps to reproduce:
-use any extension where you can enter some string (eg
effects-
-put a backslash at the end
-run it
The interpreter will bomb (prior to reaching the extension code) with:
IOError: [Errno 9] Bad file descriptor
Related branches
- Ubuntu branches: Pending requested
-
Diff: 34408 lines (+12230/-6844) 384 files modifiedapiInfo.plist (+3/-3)
Makefile.am (+34/-8)
Makefile.in (+214/-60)
aclocal.m4 (+123/-48)
build.xml (+3/-2)
compile (+183/-16)
config.h.in (+12/-6)
configure (+404/-361)
configure.ac (+53/-78)
debian/changelog (+21/-0)
debian/control (+2/-2)
debian/patches/00list (+0/-1)
debian/patches/02-add-shebangs-and-fix-permissions.dpatch (+0/-478)
depcomp (+66/-8)
doc/Makefile.in (+28/-15)
doc/keys.en.html (+199/-178)
doc/keys.fr.html (+199/-178)
doc/keys.ja.html (+202/-181)
inkscape.1 (+16/-78)
inkscape.el.1 (+829/-0)
inkscape.el.pod (+677/-0)
inkscape.fr.1 (+398/-411)
inkscape.fr.pod (+394/-322)
inkscape.ja.1 (+695/-0)
inkscape.sk.1 (+736/-0)
inkscape.sk.pod (+567/-0)
inkscape.spec (+1/-1)
inkscape.zh_TW.1 (+663/-0)
inkscape.zh_TW.pod (+492/-0)
install-sh (+18/-11)
missing (+4/-49)
mkinstalldirs (+72/-21)
packaging/macosx/Resources/bin/inkscape (+1/-0)
packaging/macosx/osx-app.sh (+30/-21)
po/Makefile.in.in (+9/-4)
po/POTFILES.in (+1/-0)
po/de.po (+3/-3)
po/fr.po (+32/-5)
share/Makefile.in (+28/-15)
share/clipart/Makefile.in (+35/-18)
share/examples/Makefile.in (+35/-18)
share/extensions/Barcode/Makefile.am (+2/-2)
share/extensions/Barcode/Makefile.in (+58/-56)
share/extensions/Makefile.am (+5/-4)
share/extensions/Makefile.in (+42/-28)
share/extensions/Poly3DObjects/Makefile.in (+35/-18)
share/extensions/alphabet_soup/Makefile.in (+35/-18)
share/extensions/color_blackandwhite.py (+2/-0)
share/extensions/color_brighter.py (+2/-0)
share/extensions/color_custom.py (+51/-20)
share/extensions/color_darker.py (+2/-0)
share/extensions/color_desaturate.py (+3/-1)
share/extensions/color_grayscale.py (+3/-1)
share/extensions/color_lesshue.py (+2/-0)
share/extensions/color_lesslight.py (+2/-0)
share/extensions/color_lesssaturation.py (+2/-0)
share/extensions/color_morehue.py (+2/-0)
share/extensions/color_morelight.py (+2/-0)
share/extensions/color_moresaturation.py (+2/-0)
share/extensions/color_negative.py (+3/-1)
share/extensions/color_randomize.py (+2/-0)
share/extensions/color_removeblue.py (+3/-1)
share/extensions/color_removegreen.py (+3/-1)
share/extensions/color_removered.py (+3/-1)
share/extensions/color_replace.py (+2/-0)
share/extensions/color_rgbbarrel.py (+3/-1)
share/extensions/convert2dashes.py (+3/-1)
share/extensions/cspsubdiv.py (+18/-22)
share/extensions/dxf_outlines.inx (+23/-5)
share/extensions/dxf_outlines.py (+44/-7)
share/extensions/gimp_xcf.py (+2/-2)
share/extensions/perspective.py (+8/-6)
share/extensions/render_barcode.py (+1/-0)
share/extensions/run_command.py (+2/-0)
share/extensions/simplestyle.py (+16/-6)
share/extensions/simpletransform.py (+50/-3)
share/extensions/summersnight.py (+8/-2)
share/extensions/test/Makefile.in (+28/-15)
share/extensions/text_braille.py (+2/-0)
share/extensions/text_flipcase.py (+2/-0)
share/extensions/text_lowercase.py (+2/-0)
share/extensions/text_randomcase.py (+2/-0)
share/extensions/text_replace.py (+2/-0)
share/extensions/text_sentencecase.py (+2/-0)
share/extensions/text_titlecase.py (+2/-0)
share/extensions/text_uppercase.py (+2/-0)
share/extensions/voronoi.py (+2/-1)
share/extensions/voronoi2svg.py (+362/-0)
share/extensions/xaml2svg/Makefile.in (+35/-18)
share/filters/Makefile.in (+35/-18)
share/fonts/Makefile.in (+35/-18)
share/gradients/Makefile.in (+35/-18)
share/icons/Makefile.in (+35/-18)
share/icons/application/16x16/Makefile.in (+35/-18)
share/icons/application/22x22/Makefile.in (+35/-18)
share/icons/application/24x24/Makefile.in (+35/-18)
share/icons/application/256x256/Makefile.in (+35/-18)
share/icons/application/32x32/Makefile.in (+35/-18)
share/icons/application/48x48/Makefile.in (+35/-18)
share/icons/application/Makefile.in (+28/-15)
share/keys/Makefile.in (+35/-18)
share/markers/Makefile.in (+35/-18)
share/markers/markers.svg (+117/-121)
share/palettes/Makefile.in (+35/-18)
share/patterns/Makefile.in (+35/-18)
share/screens/Makefile.in (+35/-18)
share/templates/Makefile.in (+35/-18)
share/tutorials/Makefile.in (+35/-18)
share/tutorials/tutorial-advanced.nl.svg (+235/-257)
share/tutorials/tutorial-basic.nl.svg (+227/-242)
share/tutorials/tutorial-elements.nl.svg (+164/-180)
share/tutorials/tutorial-interpolate.nl.svg (+81/-97)
share/tutorials/tutorial-shapes.nl.svg (+259/-274)
share/tutorials/tutorial-tips.nl.svg (+100/-116)
share/tutorials/tutorial-tracing.nl.svg (+55/-71)
share/ui/Makefile.in (+35/-18)
src/2geom/matrix.h (+1/-1)
src/2geom/path-intersection.cpp (+2/-2)
src/2geom/solve-bezier-parametric.cpp (+6/-6)
src/Makefile.in (+131/-122)
src/Makefile_insert (+1/-2)
src/application/application.h (+1/-1)
src/application/editor.h (+1/-1)
src/attributes.cpp (+0/-1)
src/attributes.h (+1/-2)
src/bind/javabind.cpp (+1/-1)
src/box3d.cpp (+5/-2)
src/cms-color-types.h (+100/-0)
src/cms-system.h (+60/-0)
src/color-profile-cms-fns.h (+53/-0)
src/color-profile-fns.h (+0/-64)
src/color-profile-test.h (+0/-1)
src/color-profile.cpp (+436/-200)
src/color-profile.h (+37/-36)
src/color-rgba.h (+1/-2)
src/conn-avoid-ref.h (+1/-1)
src/cxxtests.cpp (+4/-4)
src/debug/logger.cpp (+1/-1)
src/debug/simple-event.h (+0/-2)
src/debug/timestamp.cpp (+1/-2)
src/desktop-style.h (+1/-1)
src/dialogs/clonetiler.cpp (+1/-1)
src/dialogs/xml-tree.cpp (+1/-0)
src/dir-util.cpp (+1/-5)
src/dir-util.h (+1/-1)
src/display/canvas-arena.cpp (+8/-4)
src/display/canvas-axonomgrid.cpp (+6/-2)
src/display/canvas-bpath.h (+1/-1)
src/display/canvas-grid.cpp (+21/-1)
src/display/canvas-grid.h (+1/-0)
src/display/canvas-temporary-item.h (+1/-0)
src/display/curve.cpp (+1/-1)
src/display/curve.h (+1/-2)
src/display/gnome-canvas-acetate.h (+1/-1)
src/display/nr-3dutils.cpp (+1/-1)
src/display/nr-arena-glyphs.cpp (+5/-5)
src/display/nr-arena-group.cpp (+3/-3)
src/display/nr-arena-image.cpp (+2/-2)
src/display/nr-arena-item.cpp (+17/-4)
src/display/nr-arena-item.h (+4/-1)
src/display/nr-arena-shape.cpp (+10/-6)
src/display/nr-arena.h (+1/-1)
src/display/nr-filter-diffuselighting.cpp (+1/-1)
src/display/nr-filter-gaussian.cpp (+10/-10)
src/display/nr-filter-specularlighting.cpp (+1/-1)
src/display/nr-plain-stuff.cpp (+1/-1)
src/display/nr-plain-stuff.h (+1/-1)
src/display/sodipodi-ctrlrect.h (+1/-1)
src/display/sp-canvas.cpp (+15/-18)
src/display/sp-canvas.h (+8/-5)
src/document-subset.cpp (+1/-1)
src/document.cpp (+4/-3)
src/draw-anchor.h (+1/-1)
src/dyna-draw-context.cpp (+1/-1)
src/eraser-context.cpp (+1/-1)
src/event-context.cpp (+1/-1)
src/extension/implementation/script.cpp (+31/-13)
src/extension/internal/cairo-render-context.cpp (+1/-1)
src/extension/internal/cairo-renderer.cpp (+1/-1)
src/extension/internal/emf-win32-inout.cpp (+1/-1)
src/extension/internal/emf-win32-print.cpp (+55/-95)
src/extension/internal/filter/drop-shadow.h (+98/-94)
src/extension/internal/pdfinput/pdf-input.cpp (+2/-2)
src/extension/internal/pdfinput/svg-builder.h (+1/-1)
src/extension/internal/win32.cpp (+1/-1)
src/extract-uri.h (+1/-1)
src/file.cpp (+23/-2)
src/file.h (+1/-1)
src/filters/blend-fns.h (+1/-1)
src/filters/colormatrix-fns.h (+1/-1)
src/filters/componenttransfer-fns.h (+1/-1)
src/filters/composite-fns.h (+1/-1)
src/filters/convolvematrix-fns.h (+1/-1)
src/filters/diffuselighting-fns.h (+1/-1)
src/filters/displacementmap-fns.h (+1/-1)
src/filters/flood-fns.h (+1/-1)
src/filters/image-fns.h (+1/-1)
src/filters/merge-fns.h (+1/-1)
src/filters/morphology-fns.h (+1/-1)
src/filters/offset-fns.h (+1/-1)
src/filters/specularlighting-fns.h (+1/-1)
src/filters/tile-fns.h (+1/-1)
src/filters/turbulence-fns.h (+1/-1)
src/gc-anchored.h (+1/-1)
src/gc-core.h (+1/-1)
src/gc.cpp (+1/-1)
src/gradient-drag.h (+1/-1)
src/graphlayout.cpp (+4/-3)
src/help.h (+1/-1)
src/helper/gnome-utils.h (+1/-2)
src/helper/pixbuf-ops.cpp (+0/-1)
src/helper/pixbuf-ops.h (+1/-1)
src/helper/png-write.cpp (+1/-1)
src/helper/png-write.h (+1/-1)
src/helper/stlport.h (+1/-2)
src/helper/stock-items.h (+1/-1)
src/helper/unit-menu.h (+1/-1)
src/helper/units.h (+1/-3)
src/ige-mac-menu.c (+0/-915)
src/ige-mac-menu.h (+0/-43)
src/inkscape-version.cpp (+1/-1)
src/inkscape.h (+1/-1)
src/inkview.cpp (+1/-1)
src/interface.cpp (+0/-15)
src/io/ftos.cpp (+3/-1)
src/io/inkjar.cpp (+10/-8)
src/io/inkjar.h (+1/-2)
src/io/resource.cpp (+1/-4)
src/io/sys.cpp (+1/-4)
src/io/sys.h (+1/-3)
src/knot-holder-entity.h (+1/-1)
src/knotholder.h (+1/-1)
src/libcola/shortest_paths.cpp (+10/-8)
src/libcroco/cr-libxml-node-iface.h (+1/-1)
src/libcroco/cr-node-iface.h (+1/-2)
src/libgdl/gdl-dock-item.c (+5/-1)
src/libgdl/gdl-stock.h (+1/-1)
src/libgdl/gdl-switcher.c (+2/-0)
src/libnr/in-svg-plane-test.h (+1/-1)
src/libnr/nr-gradient.cpp (+1/-1)
src/libnr/nr-i-coord.h (+1/-1)
src/libnr/nr-matrix.h (+1/-2)
src/libnr/nr-object.cpp (+1/-1)
src/libnr/nr-object.h (+1/-1)
src/libnr/nr-pixblock-pattern.cpp (+1/-1)
src/libnr/nr-pixblock.cpp (+1/-1)
src/libnr/nr-point-fns-test.h (+1/-1)
src/libnr/nr-rotate-fns-test.h (+1/-1)
src/libnrtype/FontFactory.cpp (+1/-1)
src/libnrtype/FontInstance.cpp (+1/-1)
src/libnrtype/Layout-TNG-Output.cpp (+1/-1)
src/libnrtype/nr-type-primitives.cpp (+1/-1)
src/libnrtype/nr-type-primitives.h (+1/-1)
src/livarot/AlphaLigne.cpp (+1/-1)
src/livarot/BitLigne.cpp (+1/-1)
src/livarot/PathSimplify.cpp (+1/-1)
src/livarot/Shape.cpp (+1/-1)
src/livarot/ShapeSweep.cpp (+3/-1)
src/livarot/int-line.cpp (+1/-1)
src/livarot/sweep-event.cpp (+1/-1)
src/livarot/sweep-tree-list.cpp (+1/-1)
src/live_effects/parameter/array.h (+1/-1)
src/live_effects/parameter/bool.h (+1/-1)
src/live_effects/parameter/enum.h (+1/-1)
src/live_effects/parameter/path.h (+1/-1)
src/live_effects/parameter/point.h (+1/-1)
src/live_effects/parameter/text.h (+1/-1)
src/live_effects/parameter/vector.h (+1/-1)
src/main-cmdlineact.h (+1/-1)
src/main.cpp (+0/-1)
src/message-context.cpp (+1/-1)
src/message-stack.cpp (+1/-1)
src/modifier-fns.h (+1/-1)
src/object-hierarchy.h (+1/-1)
src/path-chemistry.cpp (+1/-1)
src/removeoverlap.h (+1/-1)
src/selection-chemistry.cpp (+16/-3)
src/sp-conn-end-pair.h (+1/-1)
src/sp-conn-end.h (+1/-1)
src/sp-filter-fns.h (+1/-1)
src/sp-gaussian-blur-fns.h (+1/-1)
src/sp-gradient-fns.h (+1/-1)
src/sp-gradient-vector.h (+1/-1)
src/sp-guide.cpp (+19/-15)
src/sp-image.cpp (+26/-18)
src/sp-image.h (+2/-2)
src/sp-linear-gradient-fns.h (+1/-1)
src/sp-metrics.h (+1/-2)
src/sp-namedview.cpp (+14/-5)
src/sp-namedview.h (+1/-0)
src/sp-object-repr.cpp (+1/-3)
src/sp-object.cpp (+2/-2)
src/sp-offset.cpp (+32/-15)
src/sp-radial-gradient.h (+1/-1)
src/sp-stop.h (+1/-1)
src/sp-text.h (+1/-1)
src/sp-textpath.h (+1/-1)
src/sp-tspan.h (+1/-1)
src/splivarot.cpp (+4/-6)
src/spray-context.cpp (+1/-1)
src/svg/css-ostringstream.cpp (+1/-2)
src/svg/css-ostringstream.h (+1/-1)
src/svg/stringstream.h (+1/-1)
src/svg/strip-trailing-zeros.cpp (+1/-1)
src/svg/svg-affine.cpp (+1/-1)
src/svg/svg-color.cpp (+14/-18)
src/svg/svg-color.h (+1/-1)
src/svg/svg-length.cpp (+1/-1)
src/svg/svg-length.h (+1/-1)
src/svg/svg-path-geom-test.h (+1/-1)
src/svg/svg-path.cpp (+0/-3)
src/svg/svg.h (+1/-1)
src/text-editing.h (+1/-1)
src/text-tag-attributes.h (+1/-1)
src/trace/imagemap.cpp (+7/-1)
src/trace/potrace/potracelib.cpp (+1/-1)
src/tweak-context.cpp (+1/-1)
src/ui/cache/svg_preview_cache.cpp (+1/-1)
src/ui/clipboard.cpp (+1/-3)
src/ui/dialog/desktop-tracker.h (+1/-1)
src/ui/dialog/dialog-manager.h (+1/-1)
src/ui/dialog/document-properties.cpp (+59/-78)
src/ui/dialog/document-properties.h (+7/-6)
src/ui/dialog/filedialogimpl-win32.cpp (+12/-1)
src/ui/dialog/glyphs.cpp (+1/-1)
src/ui/dialog/icon-preview.cpp (+1/-1)
src/ui/dialog/inkscape-preferences.cpp (+33/-18)
src/ui/dialog/input.cpp (+4/-2)
src/ui/dialog/layers.cpp (+7/-0)
src/ui/dialog/livepatheffect-editor.cpp (+1/-0)
src/ui/dialog/messages.cpp (+34/-8)
src/ui/dialog/messages.h (+7/-2)
src/ui/tool/control-point-selection.cpp (+1/-1)
src/ui/tool/control-point-selection.h (+1/-1)
src/ui/tool/control-point.cpp (+53/-8)
src/ui/tool/control-point.h (+3/-2)
src/ui/tool/curve-drag-point.cpp (+16/-3)
src/ui/tool/curve-drag-point.h (+2/-1)
src/ui/tool/manipulator.h (+4/-3)
src/ui/tool/multi-path-manipulator.cpp (+2/-2)
src/ui/tool/multi-path-manipulator.h (+1/-1)
src/ui/tool/node-tool.cpp (+3/-3)
src/ui/tool/node.cpp (+13/-10)
src/ui/tool/node.h (+2/-2)
src/ui/tool/path-manipulator.cpp (+1/-1)
src/ui/tool/path-manipulator.h (+1/-1)
src/ui/tool/selector.cpp (+7/-7)
src/ui/tool/selector.h (+1/-1)
src/ui/tool/transform-handle-set.cpp (+1/-1)
src/ui/tool/transform-handle-set.h (+1/-1)
src/ui/widget/dock-item.cpp (+2/-2)
src/ui/widget/icon-widget.cpp (+1/-1)
src/ui/widget/spin-slider.cpp (+1/-1)
src/unclump.h (+1/-1)
src/uri.h (+1/-1)
src/util/glib-list-iterators.h (+1/-2)
src/util/share.cpp (+1/-1)
src/version.cpp (+1/-1)
src/version.h (+1/-1)
src/widgets/desktop-widget.cpp (+39/-34)
src/widgets/icon.cpp (+1/-1)
src/widgets/sp-color-icc-selector.cpp (+107/-64)
src/widgets/sp-color-icc-selector.h (+8/-10)
src/widgets/sp-color-notebook.cpp (+18/-22)
src/widgets/sp-color-notebook.h (+2/-2)
src/widgets/sp-color-scales.h (+1/-1)
src/widgets/sp-color-wheel-selector.h (+1/-1)
src/widgets/spinbutton-events.h (+1/-1)
src/widgets/spw-utilities.h (+2/-3)
src/widgets/stroke-style.cpp (+1/-1)
src/xml/attribute-record.h (+1/-2)
src/xml/comment-node.h (+1/-1)
src/xml/croco-node-iface.cpp (+1/-1)
src/xml/event.h (+1/-2)
src/xml/node-event-vector.h (+1/-1)
src/xml/node-observer.h (+1/-1)
src/xml/node.h (+1/-1)
src/xml/pi-node.h (+1/-1)
src/xml/quote.cpp (+1/-1)
src/xml/rebase-hrefs.cpp (+1/-3)
src/xml/rebase-hrefs.h (+1/-1)
src/xml/repr.h (+1/-1)
src/xml/simple-node.cpp (+1/-1)
src/xml/text-node.h (+1/-1)
Originator: NO
Confirmed on SVN revision 16423
FWIW, on Win Vista x86 using Inkscape0802261
Traceback (most recent call last):
File "share\
c.affect()
File "c:\Download\
self.effect()
File "c:\Download\
self.
File "c:\Download\
self.
File "c:\Download\
styles[
File "c:\Download\
col=
File "share\
r2=
File "<string>", line 1
r\
^
SyntaxError: unexpected character after line continuation character
any character that breaks the XML bombs python.
<,>,,円 even ä,ö,ü will do so.
those strings need to XML-ized before transferring to the script
removed: extensions
- custom_color.diff Edit (1.5 KiB, text/plain)
I get Simon's result as well running [extensions-
This is my first inkscape patch, I hope the diff works! I'm not sure how this is related to the original bug description. I think the only problem here is the `eval`.
Apologies for bumping, but has anybody seen this?
Patch committed in the trunk, revision 9727.
Thanks Alexander; it works perfectly now!
This extension is not very intuitive, and it would be nice to have a few words of explanation. It probably needs an help tab...
Is there another extension known for crashing when using invalid characters?
a similar problem occurred in Function Plotter, Bug 590079. Patch by Daniel Blueman committed to bzr 9631. Wouldn't surprise me if there were others not yet diagnosed.
This patch does not appear to have made it to the 0.48 release.
Just checked color_custom.py and its not fixed :-(
(Same for the Function plotter bug mentioned above but its marked for 0.49)
> (Same for the Function plotter bug mentioned above but its marked for 0.49)
Both bugs (bug #168417, bug #590079) are milestoned for Inkscape 0.49.
Adding 'backport-proposed' with regard to revision 9727 (see also new duplicate bug #849046).
The attachment "custom_color.diff" of this bug report has been identified as being a patch. The ubuntu-reviewers team has been subscribed to the bug report so that they can review the patch. In the event that this is in fact not a patch you can resolve this situation by removing the tag 'patch' from the bug report and editing the attachment so that it is not flagged as a patch. Additionally, if you are member of the ubuntu-sponsors please also unsubscribe the team from this bug report.
[This is an automated message performed by a Launchpad user owned by Brian Murray. Please contact him regarding any issues with the action taken in this bug report.]
removed: patch
bug #590079 fix already release in 0.48.2.
Custom color backport in progress.
Custom color fix committed in the branch, revision 9837.
This bug was fixed in the package inkscape - 0.48.3-0ubuntu1
---------------
inkscape (0.48.3-0ubuntu1) precise; urgency=low
* New upstream release (LP: #933188). Fixes several Ubuntu bugs:
- inkscape fails to build with glib 2.31 (LP: #898538)
- ctrl c ctrl v of text in edit mode crashes inkscape (LP: #496793)
- Completely replace lcms1 by lcms2 in Ubuntu (LP: #885324)
- parameters ending with '\' causes python to bomb (LP: #168417)
- Extensions with <check> tags fail to load (LP: #668895)
- ESC doesn't cancel move when using the Node Tool (LP: #788560)
- unable to edit attributes in Inkscape XML Editor (LP: #884368)
- Some layers should be visible by default in Layers dialog (LP: #902054)
- Path Effect List is hidden (LP: #909958)
- Input Devices > Hardware > Tree of devices is hidden (LP: #910467)
- Glyphs Font styles are hidden (LP: #911079)
- Error messages from Extensions hidden (LP: #911079)
- Messages dialog doesn't work (LP: #911123)
* Drop 02-add-
* Drop build-dependency on specific libwpd/libwpg version.
-- Alex Valavanis <email address hidden> 2012年2月16日 14:33:40 +0000