Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
MSG is freeing the pointer it gives me as argv. That's thus a bad idea to realloc it
authormquinson <mquinson@48e7efb5-ca39-0410-a469-dd3cf9ba447f>
Tue, 6 Jul 2004 08:08:34 +0000 (08:08 +0000)
committermquinson <mquinson@48e7efb5-ca39-0410-a469-dd3cf9ba447f>
Tue, 6 Jul 2004 08:08:34 +0000 (08:08 +0000)
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/simgrid/simgrid/trunk@185 48e7efb5-ca39-0410-a469-dd3cf9ba447f

examples/gras_stub_generator

index 9830a96..ff8a6b6 100755 (executable)
@@ -60,12 +60,18 @@ print OUT "\n$warn\n";
 foreach (keys %process) {
     print OUT<<EOF
 int launch_$_(int argc, char **argv) {
 foreach (keys %process) {
     print OUT<<EOF
 int launch_$_(int argc, char **argv) {
-
+  char **myargv=argv;
+  int i;
+    
   if (gras_log) {
   if (gras_log) {
-      argv=realloc(argv,++argc * sizeof(char**));
-      argv[argc-1] = gras_log;
+    myargv=malloc((argc+1) * sizeof(char**));
+    for (i=0; i<argc; i++)
+      myargv[i] = argv[i];
+    myargv[argc++] = gras_log;
   }
   $_(argc,argv);
   }
   $_(argc,argv);
+  if (myargv != argv)
+    free(myargv);
   return 0;
 }
 
   return 0;
 }