Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ee28c8c2 authored by Chris Tate's avatar Chris Tate Committed by Android (Google) Code Review
Browse files

Merge "Explicitly close FD binder parameters in backup/restore API calls" into nyc-mr1-dev

parents 8051c922 91bb0e5c
Loading
Loading
Loading
Loading
+22 −0
Original line number Diff line number Diff line
@@ -35,6 +35,8 @@ import android.system.StructStat;
import android.util.ArraySet;
import android.util.Log;

import libcore.io.IoUtils;

import org.xmlpull.v1.XmlPullParserException;

import java.io.File;
@@ -921,6 +923,13 @@ public abstract class BackupAgent extends ContextWrapper {
                } catch (RemoteException e) {
                    // we'll time out anyway, so we're safe
                }

                // Don't close the fd out from under the system service if this was local
                if (Binder.getCallingPid() != Process.myPid()) {
                    IoUtils.closeQuietly(oldState);
                    IoUtils.closeQuietly(data);
                    IoUtils.closeQuietly(newState);
                }
            }
        }

@@ -951,6 +960,11 @@ public abstract class BackupAgent extends ContextWrapper {
                } catch (RemoteException e) {
                    // we'll time out anyway, so we're safe
                }

                if (Binder.getCallingPid() != Process.myPid()) {
                    IoUtils.closeQuietly(data);
                    IoUtils.closeQuietly(newState);
                }
            }
        }

@@ -994,6 +1008,10 @@ public abstract class BackupAgent extends ContextWrapper {
                } catch (RemoteException e) {
                    // we'll time out anyway, so we're safe
                }

                if (Binder.getCallingPid() != Process.myPid()) {
                    IoUtils.closeQuietly(data);
                }
            }
        }

@@ -1041,6 +1059,10 @@ public abstract class BackupAgent extends ContextWrapper {
                } catch (RemoteException e) {
                    // we'll time out anyway, so we're safe
                }

                if (Binder.getCallingPid() != Process.myPid()) {
                    IoUtils.closeQuietly(data);
                }
            }
        }