Blame SOURCES/fapolicyd-cli-empty-db.patch

2ceba8
diff -U0 ./ChangeLog.cli-empty-db ./ChangeLog
2ceba8
diff -up ./src/cli/fapolicyd-cli.c.cli-empty-db ./src/cli/fapolicyd-cli.c
2ceba8
--- ./src/cli/fapolicyd-cli.c.cli-empty-db	2020-06-05 17:12:49.010948664 +0200
2ceba8
+++ ./src/cli/fapolicyd-cli.c	2020-06-05 17:12:49.016948738 +0200
2ceba8
@@ -112,6 +112,7 @@ static int do_dump_db(void)
2ceba8
 	MDB_env *env;
2ceba8
 	MDB_txn *txn;
2ceba8
 	MDB_dbi dbi;
2ceba8
+	MDB_stat status;
2ceba8
 	MDB_cursor *cursor;
2ceba8
 	MDB_val key, val;
2ceba8
 
2ceba8
@@ -129,6 +130,17 @@ static int do_dump_db(void)
2ceba8
 		rc = 1;
2ceba8
 		goto env_close;
2ceba8
 	}
2ceba8
+	rc = mdb_env_stat(env, &status);
2ceba8
+	if (rc) {
2ceba8
+		fprintf(stderr, "mdb_env_stat failed, error %d %s\n", rc,
2ceba8
+							mdb_strerror(rc));
2ceba8
+		rc = 1;
2ceba8
+		goto env_close;
2ceba8
+	}
2ceba8
+	if (status.ms_entries == 0) {
2ceba8
+		printf("Trust database is empty\n");
2ceba8
+		goto env_close; // Note: rc is 0 to get here
2ceba8
+	}
2ceba8
 	rc = mdb_txn_begin(env, NULL, MDB_RDONLY, &txn);
2ceba8
 	if (rc) {
2ceba8
 		fprintf(stderr, "mdb_txn_begin failed, error %d %s\n", rc,