Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
[trace] fix segfault, only get category from depbefore if depbefore->src is different...
authorschnorr <schnorr@48e7efb5-ca39-0410-a469-dd3cf9ba447f>
Mon, 20 Dec 2010 14:33:33 +0000 (14:33 +0000)
committerschnorr <schnorr@48e7efb5-ca39-0410-a469-dd3cf9ba447f>
Mon, 20 Dec 2010 14:33:33 +0000 (14:33 +0000)
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/simgrid/simgrid/trunk@9300 48e7efb5-ca39-0410-a469-dd3cf9ba447f

src/simdag/sd_daxloader.c

index abb9e5d..8719c53 100644 (file)
@@ -318,10 +318,12 @@ xbt_dynar_t SD_daxload(const char *filename)
         SD_task_dependency_add(NULL, NULL, root_task, newfile);
         SD_task_dependency_add(NULL, NULL, newfile, depafter->dst);
 #ifdef HAVE_TRACING
-        const char *category = depbefore->src->category;
-        if (category){
-          TRACE_category (category);
-          TRACE_sd_set_task_category (newfile, category);
+        if (depbefore->src){
+          const char *category = depbefore->src->category;
+          if (category){
+            TRACE_category (category);
+            TRACE_sd_set_task_category (newfile, category);
+          }
         }
 #endif
         xbt_dynar_push(result, &newfile);
@@ -333,10 +335,12 @@ xbt_dynar_t SD_daxload(const char *filename)
         SD_task_dependency_add(NULL, NULL, depbefore->src, newfile);
         SD_task_dependency_add(NULL, NULL, newfile, end_task);
 #ifdef HAVE_TRACING
-        const char *category = depbefore->src->category;
-        if (category){
-          TRACE_category (category);
-          TRACE_sd_set_task_category (newfile, category);
+        if (depbefore->src){
+          const char *category = depbefore->src->category;
+          if (category){
+            TRACE_category (category);
+            TRACE_sd_set_task_category (newfile, category);
+          }
         }
 #endif
         xbt_dynar_push(result, &newfile);
@@ -354,10 +358,12 @@ xbt_dynar_t SD_daxload(const char *filename)
           SD_task_dependency_add(NULL, NULL, depbefore->src, newfile);
           SD_task_dependency_add(NULL, NULL, newfile, depafter->dst);
 #ifdef HAVE_TRACING
-          const char *category = depbefore->src->category;
-          if (category){
-            TRACE_category (category);
-            TRACE_sd_set_task_category (newfile, category);
+          if (depbefore->src){
+            const char *category = depbefore->src->category;
+            if (category){
+              TRACE_category (category);
+              TRACE_sd_set_task_category (newfile, category);
+            }
           }
 #endif
           xbt_dynar_push(result, &newfile);