From 7c1b2318b9ba37a513cbd4412ffb227da4acaf47 Mon Sep 17 00:00:00 2001
From: Georges Da Costa <dacosta@irit.fr>
Date: Mon, 4 May 2020 21:51:39 +0200
Subject: [PATCH] Corrects the crash if -i and no infiniband present

---
 infiniband.c | 3 ++-
 mojitos.c    | 2 ++
 2 files changed, 4 insertions(+), 1 deletion(-)

diff --git a/infiniband.c b/infiniband.c
index 5959b8e..f2321dc 100644
--- a/infiniband.c
+++ b/infiniband.c
@@ -33,7 +33,8 @@ char **init_infiniband(char* infi_path) {
     glob_t res;
   
     glob("/sys/class/infiniband/*/ports/*/counters/", 0, NULL, &res);
-
+    if(res.gl_pathc == 0)
+      return NULL;
     infi_path = res.gl_pathv[0];
   }
   
diff --git a/mojitos.c b/mojitos.c
index f642f4d..ffc9869 100644
--- a/mojitos.c
+++ b/mojitos.c
@@ -197,6 +197,8 @@ int main(int argc, char **argv) {
   char ** infiniband_sources = NULL;
   if(infi_path != NULL)
     infiniband_sources = init_infiniband(infi_path);
+  if(infiniband_sources == NULL)
+    infi_path = NULL;
   long long infiniband_values[4]={0,0,0,0};
   long long tmp_infiniband_values[4]={0,0,0,0};
   get_network(infiniband_values, infiniband_sources);
-- 
GitLab