BUG/MINOR: server: check return value of fgets() in apply_server_state()

fgets() can return NULL on error or when EOF occurs. This patch adds a
check of fgets() return value and displays a warning if the first line of
the server state file can not be read. Additionally, we make sure to close
the previously opened file descriptor.
diff --git a/src/server.c b/src/server.c
index 224d536..b45a7fd 100644
--- a/src/server.c
+++ b/src/server.c
@@ -2330,12 +2330,16 @@
 		version = 0;
 
 		/* first character of first line of the file must contain the version of the export */
-		fgets(mybuf, SRV_STATE_LINE_MAXLEN, f);
+		if (fgets(mybuf, SRV_STATE_LINE_MAXLEN, f) == NULL) {
+			Warning("Can't read first line of the server state file '%s'\n", filepath);
+			goto fileclose;
+		}
+
 		cur = mybuf;
 		version = atoi(cur);
 		if ((version < SRV_STATE_FILE_VERSION_MIN) ||
 		    (version > SRV_STATE_FILE_VERSION_MAX))
-			continue;
+			goto fileclose;
 
 		while (fgets(mybuf, SRV_STATE_LINE_MAXLEN, f)) {
 			int bk_f_forced_id = 0;
@@ -2462,6 +2466,7 @@
 			/* now we can proceed with server's state update */
 			srv_update_state(srv, version, srv_params);
 		}
+fileclose:
 		fclose(f);
 	}
 }