Package: oregano Version: 0.40.0-3 Severity: serious Tags: patch Oregano defines GNOME_DISABLE_DEPRECATED which has the effect that gnome_menu_item_new() does NOT get declared. As a result, the function gets implicitly defined to return an "int", which is a problem on 64-bit architectures since the pointer cannot fit in an int. In particular, this is guaranteed to cause a SIGSEGV on ia64 since the top 32 bits would get truncated to zero.
Second, node_store_get_type() attempted to use guint to store a GTK type when GType is needed. This caused an immediate segfault on ia64 at startup. Third, part-property.c passed a pointer to an unitialized size_t-typed variable to get_macro_name(), which was expecting only an int pointer. Thus, the top 32-bits remained unitialized and on ia64 this caused a crash when attempting to insert any part. Patch below fixes all three problems. Please apply (and forward to upstream if appropriate). Thanks! --david diff -urN oregano-0.40.0/src/Makefile.am oregano-0.40.0-davidm/src/Makefile.am --- oregano-0.40.0/src/Makefile.am 2005-05-26 18:23:27.000000000 -0700 +++ oregano-0.40.0-davidm/src/Makefile.am 2005-05-26 18:05:19.000000000 -0700 @@ -15,8 +15,8 @@ -DDATADIR=\""$(datadir)"\" \ $(OREGANO_CFLAGS) \ -DGDK_DISABLE_DEPRECATED=1 \ - -DGLIB_DISABLE_DEPRECATED=1 \ - -DGNOME_DISABLE_DEPRECATED=1 + -DGLIB_DISABLE_DEPRECATED=1 +# -DGNOME_DISABLE_DEPRECATED=1 # -DGTK_DISABLE_DEPRECATED=1 bin_SCRIPTS = oregano_parser diff -urN oregano-0.40.0/src/Makefile.in oregano-0.40.0-davidm/src/Makefile.in --- oregano-0.40.0/src/Makefile.in 2005-05-26 18:23:27.000000000 -0700 +++ oregano-0.40.0-davidm/src/Makefile.in 2005-05-26 18:06:47.000000000 -0700 @@ -137,7 +137,7 @@ oreganodir = $(datadir)/oregano -INCLUDES = -DGNOMELOCALEDIR=\""$(datadir)/locale"\" -I$(includedir) $(GNOME_INCLUDEDIR) -DOREGANO_GLADEDIR=\""$(oreganodir)/glade"\" -DOREGANO_LIBRARYDIR=\""$(oreganodir)/libraries"\" -DOREGANO_MODELDIR=\""$(oreganodir)/models"\" -DDATADIR=\""$(datadir)"\" $(OREGANO_CFLAGS) -DGDK_DISABLE_DEPRECATED=1 -DGLIB_DISABLE_DEPRECATED=1 -DGNOME_DISABLE_DEPRECATED=1 +INCLUDES = -DGNOMELOCALEDIR=\""$(datadir)/locale"\" -I$(includedir) $(GNOME_INCLUDEDIR) -DOREGANO_GLADEDIR=\""$(oreganodir)/glade"\" -DOREGANO_LIBRARYDIR=\""$(oreganodir)/libraries"\" -DOREGANO_MODELDIR=\""$(oreganodir)/models"\" -DDATADIR=\""$(datadir)"\" $(OREGANO_CFLAGS) -DGDK_DISABLE_DEPRECATED=1 -DGLIB_DISABLE_DEPRECATED=1 # -DGTK_DISABLE_DEPRECATED=1 diff -urN oregano-0.40.0/src/node-store.c oregano-0.40.0-davidm/src/node-store.c --- oregano-0.40.0/src/node-store.c 2004-10-11 12:04:27.000000000 -0700 +++ oregano-0.40.0-davidm/src/node-store.c 2005-05-26 18:12:45.000000000 -0700 @@ -88,7 +88,7 @@ GType node_store_get_type (void) { - static guint node_store_type = 0; + static GType node_store_type = 0; if (!node_store_type) { static const GTypeInfo node_store_info = { diff -urN oregano-0.40.0/src/part-property.c oregano-0.40.0-davidm/src/part-property.c --- oregano-0.40.0/src/part-property.c 2004-10-10 11:20:28.000000000 -0700 +++ oregano-0.40.0-davidm/src/part-property.c 2005-05-26 18:17:38.000000000 -0700 @@ -42,7 +42,7 @@ * @return the name of a macro variable */ static char *get_macro_name (const char *str, char **cls1, - char **cls2, int *sz) + char **cls2, size_t *sz) { char tmp[512], separators[] = { ",.;/|()" }; char *id; @@ -105,7 +105,7 @@ } } - *sz = (int) (q - str); + *sz = (q - str); return id; error: -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]