Change to lstat so we don't count the target of symbolic links as part

of the tar archive size. Big thanks to Tassadar for pointing out the
fix.

Change-Id: I8894ffef54c93939b5b455634169d9c14d8ed7af
This commit is contained in:
bigbiff bigbiff
2014-03-16 20:32:50 -04:00
parent c05c598b73
commit ec8fc28866
+2 -2
View File
@@ -570,8 +570,8 @@ int twrpTar::tarList(std::vector<TarListStruct> *TarList, unsigned thread_id) {
while (i < list_size) {
if (TarList->at(i).thread_id == thread_id) {
strcpy(buf, TarList->at(i).fn.c_str());
stat(buf, &st);
if (st.st_mode & S_IFREG) { // item is a regular file
lstat(buf, &st);
if (S_ISREG(st.st_mode)) { // item is a regular file
if (Archive_Current_Size + (unsigned long long)(st.st_size) > MAX_ARCHIVE_SIZE) {
if (closeTar() != 0) {
LOGERR("Error closing '%s' on thread %i\n", tarfn.c_str(), thread_id);