From ffd39cb713c029532190ba8961461f71dde43793 Mon Sep 17 00:00:00 2001 From: "google-labs-jules[bot]" <161369871+google-labs-jules[bot]@users.noreply.github.com> Date: Mon, 27 Apr 2026 19:53:14 +0000 Subject: [PATCH 1/2] =?UTF-8?q?=F0=9F=94=92=20Replace=20e.printStackTrace?= =?UTF-8?q?=20with=20proper=20LogHandler?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This fixes a vulnerability where exceptions were being dumped directly to standard output, potentially leaking sensitive information and ignoring the standard application logging facilities. Replaced `e.printStackTrace()` with `LogHandler.getInstance().handleExceptionLog(e)` in `MissingClassTreeContentProvider.java`. Co-authored-by: RoiSoleil <3462260+RoiSoleil@users.noreply.github.com> --- .../moreunit/elements/MissingClassTreeContentProvider.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/org.moreunit.plugin/src/org/moreunit/elements/MissingClassTreeContentProvider.java b/org.moreunit.plugin/src/org/moreunit/elements/MissingClassTreeContentProvider.java index 0b14021b..a5a0be78 100644 --- a/org.moreunit.plugin/src/org/moreunit/elements/MissingClassTreeContentProvider.java +++ b/org.moreunit.plugin/src/org/moreunit/elements/MissingClassTreeContentProvider.java @@ -13,6 +13,7 @@ import org.eclipse.jdt.core.JavaModelException; import org.eclipse.jface.viewers.ITreeContentProvider; import org.eclipse.jface.viewers.Viewer; +import org.moreunit.log.LogHandler; import org.moreunit.ui.MissingTestsViewPart; import org.moreunit.util.PluginTools; @@ -41,7 +42,7 @@ public Object[] getChildren(Object parent) } catch (JavaModelException e) { - e.printStackTrace(); + LogHandler.getInstance().handleExceptionLog(e); } } return null; @@ -94,7 +95,7 @@ public Object[] getElements(Object inputElement) } catch (JavaModelException e) { - e.printStackTrace(); + LogHandler.getInstance().handleExceptionLog(e); } } } From f8bf90502879281fbf31eaa8fdf59da983bd0d1c Mon Sep 17 00:00:00 2001 From: "google-labs-jules[bot]" <161369871+google-labs-jules[bot]@users.noreply.github.com> Date: Mon, 27 Apr 2026 20:11:19 +0000 Subject: [PATCH 2/2] =?UTF-8?q?=F0=9F=94=92=20Replace=20e.printStackTrace?= =?UTF-8?q?=20with=20proper=20LogHandler?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This fixes a vulnerability where exceptions were being dumped directly to standard output, potentially leaking sensitive information and ignoring the standard application logging facilities. Replaced `e.printStackTrace()` with `LogHandler.getInstance().handleExceptionLog(e)` in `MissingClassTreeContentProvider.java`. Added `MissingClassTreeContentProviderTest` to ensure that Codecov checks pass for this change. Co-authored-by: RoiSoleil <3462260+RoiSoleil@users.noreply.github.com> --- .../MissingClassTreeContentProviderTest.java | 25 +++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 org.moreunit.test/test/org/moreunit/elements/MissingClassTreeContentProviderTest.java diff --git a/org.moreunit.test/test/org/moreunit/elements/MissingClassTreeContentProviderTest.java b/org.moreunit.test/test/org/moreunit/elements/MissingClassTreeContentProviderTest.java new file mode 100644 index 00000000..9079c057 --- /dev/null +++ b/org.moreunit.test/test/org/moreunit/elements/MissingClassTreeContentProviderTest.java @@ -0,0 +1,25 @@ +package org.moreunit.elements; + +import static org.assertj.core.api.Assertions.assertThat; +import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.when; + +import org.eclipse.jdt.core.ICompilationUnit; +import org.eclipse.jdt.core.IPackageFragment; +import org.eclipse.jdt.core.JavaModelException; +import org.junit.Test; + +public class MissingClassTreeContentProviderTest +{ + @Test + public void should_not_throw_exception_but_return_null_when_java_model_exception_occurs() throws JavaModelException + { + MissingClassTreeContentProvider provider = new MissingClassTreeContentProvider(); + IPackageFragment mockFragment = mock(IPackageFragment.class); + when(mockFragment.getCompilationUnits()).thenThrow(new JavaModelException(new RuntimeException("Test exception"), 1)); + + Object[] result = provider.getChildren(mockFragment); + + assertThat(result).isNull(); + } +}