From 47e5a8d08569a456981854a194d6dc66b8d85265 Mon Sep 17 00:00:00 2001 From: Tao Bao Date: Fri, 1 Dec 2017 10:53:34 -0800 Subject: applypatch: Remove the 'st' field from FileContents. It used to keep track of the stat(2) info (e.g. st_mode/st_gid/st_uid) while patching a file in file-based OTA. Test: Build and use the new updater to apply an update on bullhead. Change-Id: Ibf8f0f4b14298a9489bf24a2678bb279c5d9c8f3 --- applypatch/applypatch.cpp | 18 +++--------------- applypatch/include/applypatch/applypatch.h | 2 -- 2 files changed, 3 insertions(+), 17 deletions(-) diff --git a/applypatch/applypatch.cpp b/applypatch/applypatch.cpp index 41a72eb15..04b964b17 100644 --- a/applypatch/applypatch.cpp +++ b/applypatch/applypatch.cpp @@ -58,12 +58,13 @@ int LoadFileContents(const char* filename, FileContents* file) { return LoadPartitionContents(filename, file); } - if (stat(filename, &file->st) == -1) { + struct stat sb; + if (stat(filename, &sb) == -1) { printf("failed to stat \"%s\": %s\n", filename, strerror(errno)); return -1; } - std::vector data(file->st.st_size); + std::vector data(sb.st_size); unique_file f(ota_fopen(filename, "rb")); if (!f) { printf("failed to open \"%s\": %s\n", filename, strerror(errno)); @@ -180,10 +181,6 @@ static int LoadPartitionContents(const std::string& filename, FileContents* file buffer.resize(buffer_size); file->data = std::move(buffer); - // Fake some stat() info. - file->st.st_mode = 0644; - file->st.st_uid = 0; - file->st.st_gid = 0; return 0; } @@ -212,15 +209,6 @@ int SaveFileContents(const char* filename, const FileContents* file) { return -1; } - if (chmod(filename, file->st.st_mode) != 0) { - printf("chmod of \"%s\" failed: %s\n", filename, strerror(errno)); - return -1; - } - if (chown(filename, file->st.st_uid, file->st.st_gid) != 0) { - printf("chown of \"%s\" failed: %s\n", filename, strerror(errno)); - return -1; - } - return 0; } diff --git a/applypatch/include/applypatch/applypatch.h b/applypatch/include/applypatch/applypatch.h index 6d7ffd78c..c8ad91505 100644 --- a/applypatch/include/applypatch/applypatch.h +++ b/applypatch/include/applypatch/applypatch.h @@ -18,7 +18,6 @@ #define _APPLYPATCH_H #include -#include #include #include @@ -33,7 +32,6 @@ struct Value; struct FileContents { uint8_t sha1[SHA_DIGEST_LENGTH]; std::vector data; - struct stat st; }; // When there isn't enough room on the target filesystem to hold the patched version of the file, -- cgit v1.2.3