]> granicus.if.org Git - graphviz/commitdiff
more fread() return values
authorellson <devnull@localhost>
Fri, 1 Aug 2008 19:56:45 +0000 (19:56 +0000)
committerellson <devnull@localhost>
Fri, 1 Aug 2008 19:56:45 +0000 (19:56 +0000)
lib/sparse/SparseMatrix.c

index d53f1362e5b2128a6b9cc7d8a0237e6f2f8dc5b7..76d13908124fc7b05274c4591d79d0645f864892 100644 (file)
@@ -626,13 +626,17 @@ SparseMatrix SparseMatrix_import_binary(char *name){
   A->property = property;
 
   if (format == FORMAT_COORD){
-    fread(A->ia, sizeof(int), A->nz, f);
+    rc = fread(A->ia, sizeof(int), A->nz, f);
+    if (rc != A->nz) return NULL;
   } else {
-    fread(A->ia, sizeof(int), A->m + 1, f);
+    rc = fread(A->ia, sizeof(int), A->m + 1, f);
+    if (rc != A->m + 1) return NULL;
   }
-  fread(A->ja, sizeof(int), A->nz, f);
+  rc = fread(A->ja, sizeof(int), A->nz, f);
+  if (rc != A->nz) return NULL;
   if (size_of_matrix_type(A->type) > 0) {
-    fread(A->a, size_of_matrix_type(A->type), A->nz, f);
+    rc = fread(A->a, size_of_matrix_type(A->type), A->nz, f);
+    if (rc != size_of_matrix_type(A->type)) return NULL;
   }
   fclose(f);
   return A;