mirror of
https://github.com/PaperMC/Paper.git
synced 2024-12-15 07:01:36 +08:00
cab333b217
Don't send requests of every player was found in the global api cache SpigotMC/Spigot@841270ff1e Correctly set the response code for the cached lookups and return the ... SpigotMC/Spigot@f170b7899c Don't try and re-set the global api cache on reload SpigotMC/Spigot@b410a00a66 Use a compile time sneaky throw hack. SpigotMC/Spigot@508462b96b Fix a missed rename in WorldGenGroundBush SpigotMC/Spigot@0614d8fae9
48 lines
2.1 KiB
Diff
48 lines
2.1 KiB
Diff
From 1bba17d0ad3cff7e6fd825bf56a06f6677ae7d9f Mon Sep 17 00:00:00 2001
|
|
From: Suddenly <suddenly@suddenly.coffee>
|
|
Date: Tue, 8 Jul 2014 09:44:18 +1000
|
|
Subject: [PATCH] Safer JSON Loading
|
|
|
|
|
|
diff --git a/src/main/java/net/minecraft/server/JsonList.java b/src/main/java/net/minecraft/server/JsonList.java
|
|
index 9d1cb33..71ae29e 100644
|
|
--- a/src/main/java/net/minecraft/server/JsonList.java
|
|
+++ b/src/main/java/net/minecraft/server/JsonList.java
|
|
@@ -146,6 +146,17 @@ public class JsonList {
|
|
try {
|
|
bufferedreader = Files.newReader(this.c, Charsets.UTF_8);
|
|
collection = (Collection) this.b.fromJson(bufferedreader, f);
|
|
+ // Spigot Start
|
|
+ } catch ( java.io.FileNotFoundException ex )
|
|
+ {
|
|
+ org.bukkit.Bukkit.getLogger().log( java.util.logging.Level.INFO, "Unable to find file {0}, creating it.", this.c );
|
|
+ } catch ( net.minecraft.util.com.google.gson.JsonSyntaxException ex )
|
|
+ {
|
|
+ org.bukkit.Bukkit.getLogger().log( java.util.logging.Level.WARNING, "Unable to read file {0}, backing it up to {0}.backup and creating new copy.", this.c );
|
|
+ File backup = new File( this.c + ".backup" );
|
|
+ this.c.renameTo( backup );
|
|
+ this.c.delete();
|
|
+ // Spigot End
|
|
} finally {
|
|
IOUtils.closeQuietly(bufferedreader);
|
|
}
|
|
diff --git a/src/main/java/net/minecraft/server/UserCache.java b/src/main/java/net/minecraft/server/UserCache.java
|
|
index 9f7de3f..1ce89c4 100644
|
|
--- a/src/main/java/net/minecraft/server/UserCache.java
|
|
+++ b/src/main/java/net/minecraft/server/UserCache.java
|
|
@@ -176,6 +176,11 @@ public class UserCache {
|
|
break label81;
|
|
} catch (FileNotFoundException filenotfoundexception) {
|
|
;
|
|
+ // Spigot Start
|
|
+ } catch (net.minecraft.util.com.google.gson.JsonSyntaxException ex) {
|
|
+ JsonList.a.warn( "Usercache.json is corrupted or has bad formatting. Deleting it to prevent further issues." );
|
|
+ this.g.delete();
|
|
+ // Spigot End
|
|
} finally {
|
|
IOUtils.closeQuietly(bufferedreader);
|
|
}
|
|
--
|
|
1.9.1
|
|
|