Skip to content
This repository was archived by the owner on Mar 27, 2024. It is now read-only.

Commit 15751cb

Browse files
authored
Merge pull request #355 from intelzhongjie/master
Resolve symlink issue.
2 parents e191f5b + 006b6be commit 15751cb

File tree

2 files changed

+42
-42
lines changed

2 files changed

+42
-42
lines changed

pkg/util/fs_utils.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ type DirectoryEntry struct {
3939
}
4040

4141
func GetSize(path string) int64 {
42-
stat, err := os.Stat(path)
42+
stat, err := os.Lstat(path)
4343
if err != nil {
4444
logrus.Errorf("Could not obtain size for %s: %s", path, err)
4545
return -1
@@ -56,7 +56,7 @@ func GetSize(path string) int64 {
5656

5757
//GetFileContents returns the contents of a file at the specified path
5858
func GetFileContents(path string) (*string, error) {
59-
if _, err := os.Stat(path); os.IsNotExist(err) {
59+
if _, err := os.Lstat(path); os.IsNotExist(err) {
6060
return nil, err
6161
}
6262

@@ -145,11 +145,11 @@ func CheckSameSymlink(f1name, f2name string) (bool, error) {
145145

146146
func CheckSameFile(f1name, f2name string) (bool, error) {
147147
// Check first if files differ in size and immediately return
148-
f1stat, err := os.Stat(f1name)
148+
f1stat, err := os.Lstat(f1name)
149149
if err != nil {
150150
return false, err
151151
}
152-
f2stat, err := os.Stat(f2name)
152+
f2stat, err := os.Lstat(f2name)
153153
if err != nil {
154154
return false, err
155155
}

tests/file_diff_expected.json

Lines changed: 38 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323
},
2424
{
2525
"Name": "/usr/bin/cc",
26-
"Size": 768648
26+
"Size": 3
2727
},
2828
{
2929
"Name": "/usr/bin/cpp",
@@ -5043,7 +5043,7 @@
50435043
},
50445044
{
50455045
"Name": "/usr/lib/cpp",
5046-
"Size": 772720
5046+
"Size": 10
50475047
},
50485048
{
50495049
"Name": "/usr/lib/gcc",
@@ -5099,7 +5099,7 @@
50995099
},
51005100
{
51015101
"Name": "/usr/lib/gcc/x86_64-redhat-linux/4.8.2/32/libasan.a",
5102-
"Size": -1
5102+
"Size": 42
51035103
},
51045104
{
51055105
"Name": "/usr/lib/gcc/x86_64-redhat-linux/4.8.2/32/libasan.so",
@@ -5111,7 +5111,7 @@
51115111
},
51125112
{
51135113
"Name": "/usr/lib/gcc/x86_64-redhat-linux/4.8.2/32/libatomic.a",
5114-
"Size": -1
5114+
"Size": 44
51155115
},
51165116
{
51175117
"Name": "/usr/lib/gcc/x86_64-redhat-linux/4.8.2/32/libatomic.so",
@@ -5127,7 +5127,7 @@
51275127
},
51285128
{
51295129
"Name": "/usr/lib/gcc/x86_64-redhat-linux/4.8.2/32/libgcc_s.so",
5130-
"Size": -1
5130+
"Size": 18
51315131
},
51325132
{
51335133
"Name": "/usr/lib/gcc/x86_64-redhat-linux/4.8.2/32/libgcov.a",
@@ -5139,35 +5139,35 @@
51395139
},
51405140
{
51415141
"Name": "/usr/lib/gcc/x86_64-redhat-linux/4.8.2/32/libgomp.so",
5142-
"Size": -1
5142+
"Size": 28
51435143
},
51445144
{
51455145
"Name": "/usr/lib/gcc/x86_64-redhat-linux/4.8.2/32/libitm.a",
5146-
"Size": -1
5146+
"Size": 41
51475147
},
51485148
{
51495149
"Name": "/usr/lib/gcc/x86_64-redhat-linux/4.8.2/32/libitm.so",
51505150
"Size": 35
51515151
},
51525152
{
51535153
"Name": "/usr/lib/gcc/x86_64-redhat-linux/4.8.2/32/libmudflap.a",
5154-
"Size": -1
5154+
"Size": 45
51555155
},
51565156
{
51575157
"Name": "/usr/lib/gcc/x86_64-redhat-linux/4.8.2/32/libmudflap.so",
51585158
"Size": 39
51595159
},
51605160
{
51615161
"Name": "/usr/lib/gcc/x86_64-redhat-linux/4.8.2/32/libmudflapth.a",
5162-
"Size": -1
5162+
"Size": 47
51635163
},
51645164
{
51655165
"Name": "/usr/lib/gcc/x86_64-redhat-linux/4.8.2/32/libmudflapth.so",
51665166
"Size": 41
51675167
},
51685168
{
51695169
"Name": "/usr/lib/gcc/x86_64-redhat-linux/4.8.2/32/libquadmath.a",
5170-
"Size": -1
5170+
"Size": 46
51715171
},
51725172
{
51735173
"Name": "/usr/lib/gcc/x86_64-redhat-linux/4.8.2/32/libquadmath.so",
@@ -5451,7 +5451,7 @@
54515451
},
54525452
{
54535453
"Name": "/usr/lib/gcc/x86_64-redhat-linux/4.8.2/libgcc_s.so",
5454-
"Size": -1
5454+
"Size": 20
54555455
},
54565456
{
54575457
"Name": "/usr/lib/gcc/x86_64-redhat-linux/4.8.2/libgcov.a",
@@ -5463,7 +5463,7 @@
54635463
},
54645464
{
54655465
"Name": "/usr/lib/gcc/x86_64-redhat-linux/4.8.2/libgomp.so",
5466-
"Size": 154880
5466+
"Size": 34
54675467
},
54685468
{
54695469
"Name": "/usr/lib/gcc/x86_64-redhat-linux/4.8.2/libgomp.spec",
@@ -5511,19 +5511,19 @@
55115511
},
55125512
{
55135513
"Name": "/usr/lib64/libBrokenLocale.so",
5514-
"Size": 8480
5514+
"Size": 32
55155515
},
55165516
{
55175517
"Name": "/usr/lib64/libanl.so",
5518-
"Size": 19840
5518+
"Size": 23
55195519
},
55205520
{
55215521
"Name": "/usr/lib64/libbsd-compat.a",
55225522
"Size": 1330
55235523
},
55245524
{
55255525
"Name": "/usr/lib64/libbsd.a",
5526-
"Size": 1330
5526+
"Size": 15
55275527
},
55285528
{
55295529
"Name": "/usr/lib64/libc.so",
@@ -5535,23 +5535,23 @@
55355535
},
55365536
{
55375537
"Name": "/usr/lib64/libcidn.so",
5538-
"Size": 201064
5538+
"Size": 24
55395539
},
55405540
{
55415541
"Name": "/usr/lib64/libcrypt.so",
5542-
"Size": 40664
5542+
"Size": 25
55435543
},
55445544
{
55455545
"Name": "/usr/lib64/libdl.so",
5546-
"Size": 19288
5546+
"Size": 22
55475547
},
55485548
{
55495549
"Name": "/usr/lib64/libg.a",
55505550
"Size": 1330
55515551
},
55525552
{
55535553
"Name": "/usr/lib64/libgomp.so.1",
5554-
"Size": 154880
5554+
"Size": 16
55555555
},
55565556
{
55575557
"Name": "/usr/lib64/libgomp.so.1.0.0",
@@ -5563,59 +5563,59 @@
55635563
},
55645564
{
55655565
"Name": "/usr/lib64/libm.so",
5566-
"Size": 1137024
5566+
"Size": 21
55675567
},
55685568
{
55695569
"Name": "/usr/lib64/libmcheck.a",
55705570
"Size": 11440
55715571
},
55725572
{
55735573
"Name": "/usr/lib64/libmpc.so.3",
5574-
"Size": 99664
5574+
"Size": 15
55755575
},
55765576
{
55775577
"Name": "/usr/lib64/libmpc.so.3.0.0",
55785578
"Size": 99664
55795579
},
55805580
{
55815581
"Name": "/usr/lib64/libmpfr.so.4",
5582-
"Size": 377424
5582+
"Size": 16
55835583
},
55845584
{
55855585
"Name": "/usr/lib64/libmpfr.so.4.1.1",
55865586
"Size": 377424
55875587
},
55885588
{
55895589
"Name": "/usr/lib64/libnsl.so",
5590-
"Size": 115848
5590+
"Size": 23
55915591
},
55925592
{
55935593
"Name": "/usr/lib64/libnss_compat.so",
5594-
"Size": 46432
5594+
"Size": 30
55955595
},
55965596
{
55975597
"Name": "/usr/lib64/libnss_db.so",
5598-
"Size": 38088
5598+
"Size": 26
55995599
},
56005600
{
56015601
"Name": "/usr/lib64/libnss_dns.so",
5602-
"Size": 31408
5602+
"Size": 27
56035603
},
56045604
{
56055605
"Name": "/usr/lib64/libnss_files.so",
5606-
"Size": 61624
5606+
"Size": 29
56075607
},
56085608
{
56095609
"Name": "/usr/lib64/libnss_hesiod.so",
5610-
"Size": 23680
5610+
"Size": 30
56115611
},
56125612
{
56135613
"Name": "/usr/lib64/libnss_nis.so",
5614-
"Size": 56656
5614+
"Size": 27
56155615
},
56165616
{
56175617
"Name": "/usr/lib64/libnss_nisplus.so",
5618-
"Size": 69680
5618+
"Size": 31
56195619
},
56205620
{
56215621
"Name": "/usr/lib64/libpthread.so",
@@ -5627,23 +5627,23 @@
56275627
},
56285628
{
56295629
"Name": "/usr/lib64/libresolv.so",
5630-
"Size": 105824
5630+
"Size": 26
56315631
},
56325632
{
56335633
"Name": "/usr/lib64/librpcsvc.a",
56345634
"Size": 54398
56355635
},
56365636
{
56375637
"Name": "/usr/lib64/librt.so",
5638-
"Size": 43776
5638+
"Size": 22
56395639
},
56405640
{
56415641
"Name": "/usr/lib64/libthread_db.so",
5642-
"Size": 38232
5642+
"Size": 29
56435643
},
56445644
{
56455645
"Name": "/usr/lib64/libutil.so",
5646-
"Size": 14496
5646+
"Size": 24
56475647
},
56485648
{
56495649
"Name": "/usr/libexec/gcc",
@@ -5667,11 +5667,11 @@
56675667
},
56685668
{
56695669
"Name": "/usr/libexec/gcc/x86_64-redhat-linux/4.8.2/liblto_plugin.so",
5670-
"Size": 76584
5670+
"Size": 22
56715671
},
56725672
{
56735673
"Name": "/usr/libexec/gcc/x86_64-redhat-linux/4.8.2/liblto_plugin.so.0",
5674-
"Size": 76584
5674+
"Size": 22
56755675
},
56765676
{
56775677
"Name": "/usr/libexec/gcc/x86_64-redhat-linux/4.8.2/liblto_plugin.so.0.0.0",
@@ -5691,7 +5691,7 @@
56915691
},
56925692
{
56935693
"Name": "/usr/libexec/getconf/default",
5694-
"Size": 26544
5694+
"Size": 19
56955695
},
56965696
{
56975697
"Name": "/usr/share/doc/gcc-4.8.5",
@@ -6803,4 +6803,4 @@
68036803
]
68046804
}
68056805
}
6806-
]
6806+
]

0 commit comments

Comments
 (0)