diff options
author | A. Wilcox <AWilcox@Wilcox-Tech.com> | 2017-06-26 00:51:38 +0000 |
---|---|---|
committer | Timo Teräs <timo.teras@iki.fi> | 2017-06-26 10:32:38 +0300 |
commit | 17dd532e428e647e9d977e727c87c0f3a4e93ae3 (patch) | |
tree | d5f4f20d8888ed5f6fe8b1ff6865748094e8fd72 | |
parent | 6f9dd59098c1710be8c59613220f1c7fea225960 (diff) | |
download | apk-tools-17dd532e428e647e9d977e727c87c0f3a4e93ae3.tar.gz apk-tools-17dd532e428e647e9d977e727c87c0f3a4e93ae3.tar.bz2 apk-tools-17dd532e428e647e9d977e727c87c0f3a4e93ae3.tar.xz apk-tools-17dd532e428e647e9d977e727c87c0f3a4e93ae3.zip |
database: mark error on renameat failure
-rw-r--r-- | src/database.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/src/database.c b/src/database.c index 4d16900..7c3c646 100644 --- a/src/database.c +++ b/src/database.c @@ -2652,8 +2652,12 @@ static void apk_db_migrate_files(struct apk_database *db, unlinkat(db->root_fd, tmpname, 0); } else { /* Overwrite the old file */ - renameat(db->root_fd, tmpname, - db->root_fd, name); + if (renameat(db->root_fd, tmpname, + db->root_fd, name) != 0) { + apk_error(PKG_VER_FMT": failed to rename %s to %s.", + PKG_VER_PRINTF(ipkg->pkg), tmpname, name); + ipkg->broken_files = 1; + } } /* Claim ownership of the file in db */ |