Bug 572196 - [Linux] segfault when trying to see secure storage
- fix GList append logic in LinuxPasswordProvider.unlockSecretService()
Change-Id: I8fd573277556cf6927a34afcfd135110def7a0d9
Signed-off-by: Jeff Johnston <jjohnstn@redhat.com>
diff --git a/bundles/org.eclipse.equinox.security.linux/META-INF/MANIFEST.MF b/bundles/org.eclipse.equinox.security.linux/META-INF/MANIFEST.MF
index 4c596bd..0f5b4c9 100644
--- a/bundles/org.eclipse.equinox.security.linux/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.equinox.security.linux/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
Bundle-ManifestVersion: 2
Bundle-Name: %fragmentName
Bundle-SymbolicName: org.eclipse.equinox.security.linux;singleton:=true
-Bundle-Version: 1.0.0.qualifier
+Bundle-Version: 1.0.100.qualifier
Bundle-Vendor: %providerName
Fragment-Host: org.eclipse.equinox.security;bundle-version="[1.0.0,2.0.0)"
Bundle-RequiredExecutionEnvironment: JavaSE-11
diff --git a/bundles/org.eclipse.equinox.security.linux/pom.xml b/bundles/org.eclipse.equinox.security.linux/pom.xml
index 8b1a17a..d39ee88 100644
--- a/bundles/org.eclipse.equinox.security.linux/pom.xml
+++ b/bundles/org.eclipse.equinox.security.linux/pom.xml
@@ -20,7 +20,7 @@
</parent>
<groupId>org.eclipse.equinox</groupId>
<artifactId>org.eclipse.equinox.security.linux</artifactId>
- <version>1.0.0-SNAPSHOT</version>
+ <version>1.0.100-SNAPSHOT</version>
<packaging>eclipse-plugin</packaging>
<build>
diff --git a/bundles/org.eclipse.equinox.security.linux/src/org/eclipse/equinox/internal/security/linux/LinuxPasswordProvider.java b/bundles/org.eclipse.equinox.security.linux/src/org/eclipse/equinox/internal/security/linux/LinuxPasswordProvider.java
index 2332699..c1686af 100644
--- a/bundles/org.eclipse.equinox.security.linux/src/org/eclipse/equinox/internal/security/linux/LinuxPasswordProvider.java
+++ b/bundles/org.eclipse.equinox.security.linux/src/org/eclipse/equinox/internal/security/linux/LinuxPasswordProvider.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2017, 2020 IBM Corporation and others.
+ * Copyright (c) 2017, 2021 IBM Corporation and others.
*
* This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
@@ -59,7 +59,7 @@
void g_error_free(Pointer error);
- GList.ByReference g_list_append(GList list, Pointer data);
+ GList g_list_append(GList list, Pointer data);
}
private interface LibSecret extends Library {
@@ -119,8 +119,7 @@
}
if (fLibSecret.secret_collection_get_locked(defaultCollection)) {
fLibSecret.secret_collection_get_label(defaultCollection);
- GList.ByReference nullGList = new GList.ByReference(Pointer.NULL);
- GList.ByReference list = fLibGio.g_list_append(nullGList, defaultCollection);
+ GList list = fLibGio.g_list_append(null, defaultCollection);
PointerByReference unlocked = new PointerByReference();
fLibSecret.secret_service_unlock_sync(secretService, list, Pointer.NULL, unlocked, gerror);
fLibGio.g_error_free(unlocked.getValue());