Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Don't ignore return value of 'system'.
authorArnaud Giersch <arnaud.giersch@iut-bm.univ-fcomte.fr>
Thu, 18 Oct 2012 14:12:17 +0000 (16:12 +0200)
committerArnaud Giersch <arnaud.giersch@iut-bm.univ-fcomte.fr>
Thu, 18 Oct 2012 14:18:55 +0000 (16:18 +0200)
It is sometimes declared with attribute warn_unused_result.

src/xbt/mmalloc/mmorecore.c

index dfd9cf7..c5d3524 100644 (file)
@@ -123,7 +123,9 @@ void *mmorecore(struct mdesc *mdp, int size)
         char buff[1024];
         fprintf(stderr,"Internal error: mmap returned MAP_FAILED! error: %s\n",strerror(errno));
         sprintf(buff,"cat /proc/%d/maps",getpid());
-        system(buff);
+        int status = system(buff);
+        if (status == -1 || !(WIFEXITED(status) && WEXITSTATUS(status) == 0))
+          fprintf(stderr, "Something went wrong when trying to %s\n", buff);
         sleep(1);
         abort();
       }