RFR: 8337840: Remove redundant null check in ObjectOutputStream.writeProxyDesc

Jaikiran Pai jpai at openjdk.org
Tue Aug 6 04:20:35 UTC 2024


On Fri, 26 Jul 2024 13:09:19 GMT, Andrey Turbanov <aturbanov at openjdk.org> wrote:

> There is implicit null check in line before.
> 
> https://github.com/openjdk/jdk/blob/431d4f7e18369466eedd00926a5162a1461d0b25/src/java.base/share/classes/java/io/ObjectOutputStream.java#L1267-L1277
> 
> 'cl' can't be null after that.

That null check appears to have been added as part of https://mail.openjdk.org/pipermail/core-libs-dev/2014-April/026379.html. The change in that previous commit introduced 2 null checks - one in `writeProxyDesc()` and one in `writeNonProxyDesc()`. The null check added in `writeProxyDesc()` appears to be a copy/paste issue and as you note that null check essentially is a no-op because the `cl` has already been dereferenced a few lines above. Removing this redundant null check seems OK to me. 

Having said that, I think we might have to consider if that null check needs to be moved just after the call to `desc.forClass()`. Apparently that call is allowed to return null (which is what prompted the original commit).

I would wait for Roger or someone more familiar with this area to recommend what needs to be done here.

-------------

PR Comment: https://git.openjdk.org/jdk/pull/20351#issuecomment-2270349946


More information about the core-libs-dev mailing list