[tor-commits] [sandboxed-tor-browser/master] Bug #20899: Incorrect x86_64 ld.so flag check in dynlib.

yawning at torproject.org yawning at torproject.org
Sat Dec 10 17:46:56 UTC 2016


commit 2e81ec6ecee2ce96c91fff961eba5c298f2fc253
Author: Yawning Angel <yawning at schwanenlied.me>
Date:   Sat Dec 10 17:40:50 2016 +0000

    Bug #20899: Incorrect x86_64 ld.so flag check in dynlib.
    
    Oops.  The flag check on amd64 systems wasn't actually doing anything.
    
    e68ab9154e73f2fde78ffaf556f39670e4a807f5 should be enough to prevent
    crashes, but this is the root cause.
---
 ChangeLog                                              | 1 +
 src/cmd/sandboxed-tor-browser/internal/dynlib/cache.go | 2 +-
 2 files changed, 2 insertions(+), 1 deletion(-)

diff --git a/ChangeLog b/ChangeLog
index 3995a1c..2a34ba8 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -2,6 +2,7 @@ Changes in version 0.0.2 - UNRELEASED:
  * Bug #20780: Shuffle and persist the ordering of internal bridges.
  * Bug #20806: Add an option to disable including `libavcodec.so` in the
    firefox container.
+ * Bug #20899: Incorrect x86_64 ld.so flag check in dynlib.
 
 Changes in version 0.0.1 - 2016-12-09:
  * Initial release.
diff --git a/src/cmd/sandboxed-tor-browser/internal/dynlib/cache.go b/src/cmd/sandboxed-tor-browser/internal/dynlib/cache.go
index b469b44..ecac7b8 100644
--- a/src/cmd/sandboxed-tor-browser/internal/dynlib/cache.go
+++ b/src/cmd/sandboxed-tor-browser/internal/dynlib/cache.go
@@ -326,7 +326,7 @@ func LoadCache() (*Cache, error) {
 	case "amd64":
 		flagCheckFn = func(flags uint32) bool {
 			const wantFlags = flagX8664Lib64 | flagElfLibc6
-			return flags&wantFlags == flags
+			return flags&wantFlags == wantFlags
 		}
 		capCheckFn = func(hwcap uint64) bool {
 			// Not used on this arch AFAIK.



More information about the tor-commits mailing list