• Alistair Strachan's avatar
    Restore default umask after forking for update-binary. · 027429a3
    Alistair Strachan authored
    A system/core change made in Mar 26 2012 6ebf12f "init: Change umask
    of forked processes to 077" changed the default umask of services
    forked from init.
    
    Because recovery is forked from init, it has a umask of 077. Therefore
    when update-binary is forked from recovery, it too has a umask of 077.
    
    This umask is overly restrictive and can cause problems for scripts
    relying on minzip to extract binaries directly into the target
    filesystem. Any directories updated by minzip will have their
    permissions reset to r-x------ and created files will have similarly
    restrictive permissions.
    
    As it seems unlikely this security measure was intended to have this
    side effect on legacy sideloads that do not have chmods to repair
    the damage done by minzip, this change reverts the umask to 022 in
    the fork made for update-binary.
    
    Change-Id: Ib1a3fc83aa4ecc7480b5d0c00f3c7d0d040d4887
    027429a3
install.cpp 7.88 KB