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