[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Request of authorisation for an upload of Dia2code in stable to fix 550092



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


Reply to: