mirror of
https://github.com/nix-community/nix-on-droid-app.git
synced 2025-11-08 19:46:10 +01:00
Fixed: Log exception instead of crashing app on NumberFormatException for invalid termcap/terminfo string requested
java.lang.NumberFormatException: For input string: " a" at java.lang.Long.parseLong(Long.java:583) at java.lang.Long.valueOf(Long.java:781) at java.lang.Long.decode(Long.java:933) at com.termux.terminal.TerminalEmulator.doDeviceControl(TerminalEmulator.java:940) at com.termux.terminal.TerminalEmulator.processCodePoint(TerminalEmulator.java:813)
This commit is contained in:
parent
79980a07a8
commit
f62997a60e
1 changed files with 8 additions and 1 deletions
|
|
@ -935,10 +935,17 @@ public final class TerminalEmulator {
|
|||
for (String part : dcs.substring(2).split(";")) {
|
||||
if (part.length() % 2 == 0) {
|
||||
StringBuilder transBuffer = new StringBuilder();
|
||||
char c;
|
||||
for (int i = 0; i < part.length(); i += 2) {
|
||||
char c = (char) Long.decode("0x" + part.charAt(i) + "" + part.charAt(i + 1)).longValue();
|
||||
try {
|
||||
c = (char) Long.decode("0x" + part.charAt(i) + "" + part.charAt(i + 1)).longValue();
|
||||
} catch (NumberFormatException e) {
|
||||
Logger.logStackTraceWithMessage(mClient, LOG_TAG, "Invalid device termcap/terminfo encoded name \"" + part + "\"", e);
|
||||
continue;
|
||||
}
|
||||
transBuffer.append(c);
|
||||
}
|
||||
|
||||
String trans = transBuffer.toString();
|
||||
String responseValue;
|
||||
switch (trans) {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue