Hi release team, I am the maintainer of the package Dia2code, I would like to ask an upload to stable to fix bug 550092. Basicly, this bug occurs when you implement a big uml package using Dia, designing a class inside a superclass then if you try to execute dia2code for to translate the uml scheme to file headers you get segmentation fault because of overflow. I belive that this patch fixes a truly critical functionality problem. The package was compiled on systems running Debian Lenny, all dependencies are limited to the libraries available in stable. I am not a Debian Developer, but my sponsor agrees to update the package for me. Attached is the diff of the Dia2code release 0.8.3-3. I would like permission from the stable release managers to upload this fixed version there, thanks. -- Regards, Francesco Aloe GPG-Key ID: 97C44783
diff -Naur dia2code-0.8.3-old/debian/changelog dia2code-0.8.3-new/debian/changelog
--- dia2code-0.8.3-old/debian/changelog 2010-05-03 20:52:26.000000000 +0200
+++ dia2code-0.8.3-new/debian/changelog 2010-05-03 20:52:45.000000000 +0200
@@ -1,3 +1,9 @@
+dia2code (0.8.3-4) unstable; urgency=low
+
+ * debian/patches/fix_Segfault.patch: fixed segfault (Closes: #550092).
+
+ -- Francesco Aloe <francescoaloe4gnulinux@gmail.com> Sat, 24 Apr 2010 12:42:48 +0200
+
dia2code (0.8.3-3) unstable; urgency=low
* debian/watch: fixed obsolete and not working watch file. Closes #49789.
diff -Naur dia2code-0.8.3-old/debian/patches/fix_Segfault.patch dia2code-0.8.3-new/debian/patches/fix_Segfault.patch
--- dia2code-0.8.3-old/debian/patches/fix_Segfault.patch 1970-01-01 01:00:00.000000000 +0100
+++ dia2code-0.8.3-new/debian/patches/fix_Segfault.patch 2010-05-03 20:52:45.000000000 +0200
@@ -0,0 +1,34 @@
+diff -ruN orig/dia2code-0.8.3/dia2code/parse_diagram.c dia2code-0.8.3/dia2code/parse_diagram.c
+--- orig/dia2code-0.8.3/dia2code/parse_diagram.c 2003-03-05 17:44:38.000000000 +0100
++++ dia2code-0.8.3/dia2code/parse_diagram.c 2010-04-24 16:18:25.000000000 +0200
+@@ -384,6 +384,10 @@
+ attribute = package->xmlChildrenNode;
+ while ( attribute != NULL ) {
+ attrname = xmlGetProp(attribute, "name");
++ if( attrname == NULL ) {
++ attribute = attribute->next;
++ continue;
++ }
+ if ( ! strcmp("name", attrname) ) {
+ parse_dia_string(attribute->xmlChildrenNode, myself->name);
+ } else if ( ! strcmp ( "obj_pos", attrname ) ) {
+@@ -418,6 +422,10 @@
+ attribute = class->xmlChildrenNode;
+ while ( attribute != NULL ) {
+ attrname = xmlGetProp(attribute, "name");
++ if( attrname == NULL ) {
++ attribute = attribute->next;
++ continue;
++ }
+ if ( ! strcmp("name", attrname) ) {
+ parse_dia_string(attribute->xmlChildrenNode, myself->name);
+ } else if ( ! strcmp ( "obj_pos", attrname ) ) {
+@@ -478,7 +486,7 @@
+ id = xmlGetProp(attribute->xmlChildrenNode, "to");
+ } else {
+ attrname = xmlGetProp(attribute, "name");
+- if ( ! strcmp("text", attrname) && attribute->xmlChildrenNode != NULL &&
++ if ( attrname != NULL && ! strcmp("text", attrname) && attribute->xmlChildrenNode != NULL &&
+ attribute->xmlChildrenNode->xmlChildrenNode != NULL ){
+ name = attribute->xmlChildrenNode->xmlChildrenNode->content;
+ } else {
Attachment:
signature.asc
Description: Questa =?ISO-8859-1?Q?=E8?= una parte del messaggio firmata digitalmente