Fix possible leak in Parcel::writeDupFileDescriptor.
Also, check the result of dup() just in case we got EMFILE or something. Change-Id: I18e627bd84f4c7941813fe1c2bad2cdd9e5afa83
This commit is contained in:
parent
be37dde787
commit
d341c7178f
@ -722,7 +722,15 @@ status_t Parcel::writeFileDescriptor(int fd, bool takeOwnership)
|
||||
|
||||
status_t Parcel::writeDupFileDescriptor(int fd)
|
||||
{
|
||||
return writeFileDescriptor(dup(fd), true /*takeOwnership*/);
|
||||
int dupFd = dup(fd);
|
||||
if (dupFd < 0) {
|
||||
return -errno;
|
||||
}
|
||||
status_t err = writeFileDescriptor(dupFd, true /*takeOwnership*/);
|
||||
if (err) {
|
||||
close(dupFd);
|
||||
}
|
||||
return err;
|
||||
}
|
||||
|
||||
status_t Parcel::writeBlob(size_t len, WritableBlob* outBlob)
|
||||
|
Loading…
Reference in New Issue
Block a user