mirror of
https://github.com/git/git.git
synced 2026-01-27 10:58:50 +00:00
credential-store: avoid assertion
As of 1a9d15d (tempfile: a new module for handling temporary files,
2015-08-10), the temporary files which are used by the lock file
machinery adjust the permissions, and to do that, the config is read,
which in turn requires the config to be read.
This means that the runtime prefix needs to be resolved properly, but we
did not set that correctly in credential-store.
The symptom of this bug: when running
printf '%s\n%s\n%s\n%s\n' \
'protocol=https' 'host=gitblub.com' \
'username=hello' 'password=world' |
git credential-store store
an assertion is thrown:
Assertion failed!
Program: ...\libexec\git-core\git-credential-store.exe
File: exec_cmd.c, Line 23
Expression: argv0_path
This application has requested the Runtime to terminate it in an
unusual way. Please contact the application's support team for
more information.
This fixes https://github.com/git-for-windows/git/issues/766
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
This commit is contained in:
@@ -3,6 +3,7 @@
|
||||
#include "credential.h"
|
||||
#include "string-list.h"
|
||||
#include "parse-options.h"
|
||||
#include "exec_cmd.h"
|
||||
|
||||
static struct lock_file credential_lock;
|
||||
|
||||
@@ -160,6 +161,7 @@ int main(int argc, char **argv)
|
||||
|
||||
umask(077);
|
||||
|
||||
git_extract_argv0_path(argv[0]);
|
||||
argc = parse_options(argc, (const char **)argv, NULL, options, usage, 0);
|
||||
if (argc != 1)
|
||||
usage_with_options(usage, options);
|
||||
|
||||
Reference in New Issue
Block a user