[219] in BarnOwl Developers

home help back first fref pref prev next nref lref last post

[D-O-H] r395 - trunk/owl

daemon@ATHENA.MIT.EDU (nelhage@MIT.EDU)
Thu Oct 29 18:03:49 2009

Resent-From: nelhage@mit.edu
Resent-To: barnowl-dev-mtg@charon.mit.edu
Date: Tue, 24 Oct 2006 00:44:59 -0400
To: dirty-owl-hackers@MIT.EDU
From: nelhage@MIT.EDU
Reply-To: dirty-owl-hackers@MIT.EDU

Author: nelhage
Date: 2006-10-24 00:44:58 -0400 (Tue, 24 Oct 2006)
New Revision: 395

Modified:
   trunk/owl/commands.c
   trunk/owl/functions.c
   trunk/owl/perlconfig.c
Log:
alexmv+yoz's memory leak patches

Modified: trunk/owl/commands.c
===================================================================
--- trunk/owl/commands.c	2006-10-24 04:43:43 UTC (rev 394)
+++ trunk/owl/commands.c	2006-10-24 04:44:58 UTC (rev 395)
@@ -1555,15 +1555,15 @@
 
 char *owl_command_multi(int argc, char **argv, char *buff)
 {
-  char *lastrv = NULL, *newbuff;
+  char *lastrv = NULL, *dupbuff, *newbuff;
   char **commands;
   int  ncommands, i;
   if (argc < 2) {
     owl_function_makemsg("Invalid arguments to 'multi' command.");    
     return NULL;
   }
-  newbuff = owl_strdup(buff);
-  newbuff = skiptokens(newbuff, 1);
+  dupbuff = owl_strdup(buff);
+  newbuff = skiptokens(dupbuff, 1);
   if (!strcmp(argv[0], "(")) {
     for (i=strlen(newbuff)-1; i>=0; i--) {
       if (newbuff[i] == ')') {
@@ -1583,6 +1583,7 @@
     }
     lastrv = owl_function_command(commands[i]);
   }
+  owl_free(dupbuff);
   atokenize_free(commands, ncommands);
   return lastrv;
 }
@@ -1975,6 +1976,7 @@
       char *foo;
       foo=owl_function_create_negative_filter(owl_view_get_filtname(owl_global_get_current_view(&g)));
       owl_function_change_currentview_filter(foo);
+      owl_free(foo);
       return(NULL);
     }
   }

Modified: trunk/owl/functions.c
===================================================================
--- trunk/owl/functions.c	2006-10-24 04:43:43 UTC (rev 394)
+++ trunk/owl/functions.c	2006-10-24 04:44:58 UTC (rev 395)
@@ -3269,6 +3269,7 @@
 		    location[x].time);
 	    owl_fmtext_append_normal(&fm, line);
 	    owl_free(tmp);
+	    owl_free(line);
 	  }
 	  if (numlocs>=200) {
 	    owl_fmtext_append_normal(&fm, "  Too many locations found for this user, truncating.\n");

Modified: trunk/owl/perlconfig.c
===================================================================
--- trunk/owl/perlconfig.c	2006-10-24 04:43:43 UTC (rev 394)
+++ trunk/owl/perlconfig.c	2006-10-24 04:44:58 UTC (rev 395)
@@ -324,7 +324,7 @@
   } else {
     char *ptr = NULL;
     if (owl_perlconfig_is_function("owl::receive_msg")) {
-      owl_perlconfig_call_with_message(subname?subname
+      ptr = owl_perlconfig_call_with_message(subname?subname
 				       :"owl::_receive_msg_legacy_wrap", m);
     }
     if (ptr) owl_free(ptr);


home help back first fref pref prev next nref lref last post