On Sat, Apr 28, 2007 at 09:28:42AM +0100, Simon Huggins wrote: > On Fri, Apr 27, 2007 at 12:50:07PM -0500, Jason Kraftcheck wrote: > > Your patch seems to work fine. Builds and runs w/ no problems. After > > about 24 hours, memory use (vsize) has remained around 1MB. > Hmm, do I really need to keep it running that long to notice?
Never mind, got it :) With the current version in etch: [EMAIL PROTECTED]:~$ date && ps aux|grep orage\\clock Sat Apr 28 08:32:59 UTC 2007 huggie 19601 0.0 0.4 61184 8432 tty1 S 08:31 0:00 /usr/lib/orage/xfce4/panel-plugins/orageclock socket_id 10485825 name orageclock id 11777089370 display_name Orage Clock size 36 screen_position 11 [EMAIL PROTECTED]:~$ date && ps aux|grep orage\\clock Sat Apr 28 09:23:45 UTC 2007 huggie 19601 0.0 0.4 62208 9452 tty1 S 08:31 0:00 /usr/lib/orage/xfce4/panel-plugins/orageclock socket_id 10485825 name orageclock id 11777089370 display_name Orage Clock size 36 screen_position 11 So 61184 -> 62208 in 50 minutes. (nothing else happened on the machine in the mean time) With my patched version: [EMAIL PROTECTED]:/$ date && ps aux|grep orage\\clock Sat Apr 28 10:53:57 UTC 2007 huggie 6388 0.2 0.4 61188 8428 tty1 S 10:53 0:00 /usr/lib/orage/xfce4/panel-plugins/orageclock socket_id 12582977 name orageclock id 11777575670 display_name Orage Clock size 36 screen_position 11 [EMAIL PROTECTED]:/$ date && ps aux|grep orage\\clock Sat Apr 28 13:31:16 UTC 2007 huggie 6388 0.0 0.4 61188 8428 tty1 S 10:53 0:00 /usr/lib/orage/xfce4/panel-plugins/orageclock socket_id 12582977 name orageclock id 11777575670 display_name Orage Clock size 36 screen_position 11 61188 -> 61188 For reference the full diff in this version is (from debdiff): diff -u orage-4.3.99.1/debian/changelog orage-4.3.99.1/debian/changelog --- orage-4.3.99.1/debian/changelog +++ orage-4.3.99.1/debian/changelog @@ -1,3 +1,10 @@ +orage (4.3.99.1-2) stable; urgency=low + + * Fix memory leak due to not freeing values returned from + g_locale_from_utf8 (thanks Jason Kraftcheck) closes: #420759 + + -- Simon Huggins <[EMAIL PROTECTED]> Thu, 26 Apr 2007 15:31:34 +0100 + orage (4.3.99.1-1) unstable; urgency=low * New upstream release. only in patch2: unchanged: --- orage-4.3.99.1.orig/panel-plugin/orageclock.c +++ orage-4.3.99.1/panel-plugin/orageclock.c @@ -49,6 +49,7 @@ { char date_s[255]; char *utf8date = NULL; + char *tmp; /* TRANSLATORS: Use format characters from strftime(3) * to get the proper string for your locale. @@ -59,9 +60,11 @@ * %Y : four digit year * %V : ISO week number */ + tmp = g_locale_from_utf8( _("%A %d %B %Y/%V"), -1, NULL, NULL, NULL); strftime(date_s, 255 - , g_locale_from_utf8( _("%A %d %B %Y/%V"), -1, NULL, NULL, NULL) + , tmp , &clock->now); + g_free(tmp); /* Conversion to utf8 */ if (!g_utf8_validate(date_s, -1, NULL)) { @@ -89,6 +92,7 @@ int i; static gint mday = -1; ClockLine *line; + char *tmp; time(&t); localtime_r(&t, &clock->now); @@ -96,9 +100,11 @@ for (i = 0; i < OC_MAX_LINES; i++) { line = &clock->line[i]; if (line->show) { + tmp = g_locale_from_utf8(line->data->str, -1, NULL, NULL, NULL); strftime(time_s, sizeof(time_s) - , g_locale_from_utf8(line->data->str, -1, NULL, NULL, NULL) + , tmp , &clock->now); + g_free(tmp); if (!g_utf8_validate(time_s, -1, NULL)) { utf8time_s = g_locale_to_utf8(time_s, -1, NULL, NULL, NULL); if (utf8time_s) { I'll go away and talk to debian-release about including it in the next point release of stable. For other people experiencing this but I've put the debs at: http://the.earth.li/~huggie/etch-orage-fix/ Simon. -- oOoOo Go not unto the Usenet for advice, for you will be told oOoOo oOoOo both yea and nay (and quite a few things that just have oOoOo oOoOo nothing at all to do with the question) oOoOo htag.pl 0.0.22 ::::::: http://www.earth.li/~huggie/ -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]