Browse Source

PacketLineIn: ensure that END != DELIM

Just allocate the two string objects directly. The previously used
new StringBuilder(0).toString() returns the same object for both END
and DELIM when run on Java 15, which breaks the wire protocol since
then END and DELIM cannot be distinguished anymore.

Bug: 568950
Change-Id: I9d54d7bf484948c24b51a094256bd9d38b085f35
Signed-off-by: Thomas Wolf <thomas.wolf@paranor.ch>
tags/v5.10.0.202011251205-m3
Thomas Wolf 3 years ago
parent
commit
7da0f0a8f3
1 changed files with 5 additions and 5 deletions
  1. 5
    5
      org.eclipse.jgit/src/org/eclipse/jgit/transport/PacketLineIn.java

+ 5
- 5
org.eclipse.jgit/src/org/eclipse/jgit/transport/PacketLineIn.java View File

@@ -1,7 +1,7 @@
/*
* Copyright (C) 2008-2010, Google Inc.
* Copyright (C) 2008-2009, Robin Rosenberg <robin.rosenberg@dewire.com>
* Copyright (C) 2008, Shawn O. Pearce <spearce@spearce.org> and others
* Copyright (C) 2008, 2010 Google Inc.
* Copyright (C) 2008, 2009 Robin Rosenberg <robin.rosenberg@dewire.com>
* Copyright (C) 2008, 2020 Shawn O. Pearce <spearce@spearce.org> and others
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Distribution License v. 1.0 which is available at
@@ -50,7 +50,7 @@ public class PacketLineIn {
* strings in the input stream until the marker is reached.
*/
@Deprecated
public static final String END = new StringBuilder(0).toString(); /* must not string pool */
public static final String END = new String(); /* must not string pool */

/**
* Magic return from {@link #readString()} when a delim packet is found.
@@ -60,7 +60,7 @@ public class PacketLineIn {
* string is the delimiter.
*/
@Deprecated
public static final String DELIM = new StringBuilder(0).toString(); /* must not string pool */
public static final String DELIM = new String(); /* must not string pool */

enum AckNackResult {
/** NAK */

Loading…
Cancel
Save