2016-06-28 04:05:48 |
You-Sheng Yang |
description |
Android Bionic defines struct dirent to utilize 64 bit d_ino/d_off fields in all architectures, which is not the case in glibc. Current statuses of calls related to struct dirent are:
* readdir, readdir_r: hooked with special care to d_ino/d_off fields
* readdir64 (5.0+), readdir64_r (5.0+), alphasort, alphasort64, scandir, scandir64: not hooked
* scandirat (n-preview+), scandirat64 (n-preview+): not hooked
So some calls are commonly available starting at least from AOSP 4.4 but are not hooked currently. readdir is one of the them that causes segmentation fault in Midori.
See: https://wiki.canonical.com/PES/Engineering/Premium/PhoneArticles/PhoneBringUpSteps/CheckHybrisWorkable |
Android Bionic defines struct dirent to utilize 64 bit d_ino/d_off fields in all architectures, which is not the case in glibc. Current statuses of calls related to struct dirent are:
* readdir, readdir_r: hooked with special care to d_ino/d_off fields
* scandir, scandir64: hooked directly to glibc calls
* readdir64 (5.0+), readdir64_r (5.0+), alphasort, alphasort64: not hooked
* scandirat (n-preview+), scandirat64 (n-preview+): not hooked
So some calls are commonly available starting at least from AOSP 4.4 but are either not hooked or hooked direct to glibc calls. readdir is one of the them that causes segmentation fault in Midori.
See: https://wiki.canonical.com/PES/Engineering/Premium/PhoneArticles/PhoneBringUpSteps/CheckHybrisWorkable |
|