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

Re: [E-devel] e17 freeze on "App execution error" dialog and segfaults



Hello

I try to find why e17 segfaults when I try save logs and it seems that
I found why. I attach patch for e_apps_error.c   _dialog_save_cb
function

its just change 2 lines
tlen += app->read->lines[i].size + 1;
to
tlen += app->read->lines[i].size + 2;

because to every line \t and \n chars is added and increasing tlen by 1
is not enough. After this changes e17 saves error logs for me.

On Thu, 2 Nov 2006 00:52:38 +1000 David Seikel <onefang@gmail.com> wrote
> On Wed, 1 Nov 2006 16:33:40 +0200 blak <blakflow@gmail.com> wrote:
> 
> > I have a problem with mplayer. When I close mplayer e17 freeze for
> > about 10 seconds and after that I get "App execution error" dialog
> > when i try to save message e17 segfaults.
> > 
> > As I looked mplayer returns very long error string and probably it
> > is problem reason. I sent gdb output and it seems that buffer
> > string is messed.   
> 
> Your copy of e_apps_error.c does not look up to date.  Other things
> might be out of date to.  Please update everything and try again.

--- e_apps_error.c	2006-08-14 18:22:44.000000000 +0300
+++ e_apps_error_mod.c	2006-11-03 01:35:16.000000000 +0200
@@ -345,7 +345,7 @@
      {
 	tlen = 0;
 	for (i = 0; app->read->lines[i].line != NULL; i++)
-	  tlen += app->read->lines[i].size + 1;
+	  tlen += app->read->lines[i].size + 2;
 	text = alloca(tlen + 1);
 	if (text)
 	  {
@@ -375,7 +375,7 @@
      {
 	tlen = 0;
 	for (i = 0; app->error->lines[i].line != NULL; i++)
-	  tlen += app->error->lines[i].size + 1;
+	  tlen += app->error->lines[i].size + 2;
 	text = alloca(tlen + 1);
 	if (text)
 	  {