Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
openSUSE:Backports:SLE-15-SP1
pam_kwallet
0002-Ensure-the-salt-file-is-indeed-a-regular-f...
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File 0002-Ensure-the-salt-file-is-indeed-a-regular-file.patch of Package pam_kwallet
From beec1b39db5985eab486866b6a6d5ac0d8e9bbb3 Mon Sep 17 00:00:00 2001 From: Albert Astals Cid <aacid@kde.org> Date: Mon, 21 May 2018 10:44:11 +0200 Subject: [PATCH 2/4] Ensure the salt file is indeed a regular file Summary: If it's not a regular file we try to re-create it if we can't for some reason, we bail out Reviewers: fvogt, mgerstner Reviewed By: fvogt Subscribers: plasma-devel Tags: #plasma Differential Revision: https://phabricator.kde.org/D12991 --- pam_kwallet.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/pam_kwallet.c b/pam_kwallet.c index 07b357d..ecee6b3 100644 --- a/pam_kwallet.c +++ b/pam_kwallet.c @@ -723,10 +723,16 @@ int kwallet_hash(pam_handle_t *pamh, const char *passphrase, struct passwd *user sprintf(path, "%s/%s/%s", userInfo->pw_dir, kdehome, fixpath); char *salt = NULL; - if (stat(path, &info) != 0 || info.st_size == 0) { + if (stat(path, &info) != 0 || info.st_size == 0 || !S_ISREG(info.st_mode)) { createNewSalt(pamh, path, userInfo); } + if (stat(path, &info) != 0 || info.st_size == 0 || !S_ISREG(info.st_mode)) { + syslog(LOG_ERR, "%s: Failed to ensure %s looks like a salt file", logPrefix, path); + free(path); + return 1; + } + FILE *fd = fopen(path, "r"); if (fd == NULL) { syslog(LOG_ERR, "%s: Couldn't open file: %s because: %d-%s", logPrefix, path, errno, strerror(errno)); -- 2.17.1
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor