Just two little bugs i found thanks to valgrind :

- in evas_object_textblock, the length forgot the '\0', this create a
buffer overrun.

- in evas_font_main, every thing is not really cleaned on shutdown (It
make it crash, if you shutdown completely the font system and then
restart it again).

-- 
Cedric BAIL
diff -Nrua -X exclude.cvs e17-clean/libs/evas/src/lib/engines/common/evas_font_main.c e17-dev/libs/evas/src/lib/engines/common/evas_font_main.c
--- e17-clean/libs/evas/src/lib/engines/common/evas_font_main.c	2007-09-28 14:34:09.000000000 +0200
+++ e17-dev/libs/evas/src/lib/engines/common/evas_font_main.c	2007-09-27 17:22:40.000000000 +0200
@@ -25,7 +25,12 @@
 
    initialised--;
    if (initialised != 0) return;
+
+   evas_common_font_cache_set(0);
+   evas_common_font_flush();
+
    error = FT_Done_FreeType(evas_ft_lib);
+   evas_ft_lib = 0;
 }
 
 EAPI int
diff -Nrua -X exclude.cvs e17-clean/libs/evas/src/lib/canvas/evas_object_textblock.c e17-dev/libs/evas/src/lib/canvas/evas_object_textblock.c
--- e17-clean/libs/evas/src/lib/canvas/evas_object_textblock.c	2008-02-14 14:28:35.000000000 +0100
+++ e17-dev/libs/evas/src/lib/canvas/evas_object_textblock.c	2008-02-14 14:27:11.000000000 +0100
@@ -259,7 +259,7 @@
 	return strdup("");
      }
    l2 = strlen(s2);
-   tlen = *len + l2;
+   tlen = *len + l2 + 1;
    if (tlen > *alloc)
      {
 	char *ts;
-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
enlightenment-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

Reply via email to