Fix three Windows-specific argument type errors, including a crash bug
in the default replay cache type. Change the compiler flags to treat
several argument type warnings as errors.
The replay cache bug was reported by Thomas Wagner.
(cherry picked from commit
65b21aee6ab5e7d0851302b98647261c15c71c96)
ticket: 9005
version_fixed: 1.19.2
}
#else /* HAVE_PWD_H */
static void
-get_name_from_passwd_file(krb5_context context, krb5_principal *me)
+get_name_from_passwd_file(char *program_name, krb5_context context,
+ krb5_principal *me)
{
fprintf(stderr, _("Unable to identify user\n"));
exit(1);
PDB_OPTS=-Fd$(OUTPRE)\ -FD
CPPFLAGS=-I$(top_srcdir)\include -I$(top_srcdir)\include\krb5 $(DNSFLAGS) -DWIN32_LEAN_AND_MEAN -DKRB5_DEPRECATED=1 -DKRB5_PRIVATE -D_CRT_SECURE_NO_DEPRECATE $(KFWFLAGS) $(TIME_T_FLAGS)
-CCOPTS=-nologo /EHsc /W3 $(PDB_OPTS) $(DLL_FILE_DEF)
+# Treat the following warnings as errors:
+# 4020: too many actual parameters
+# 4024: different types for formal and actual parameter
+# 4047: different levels of indirection
+CCOPTS=-nologo /EHsc /W3 /we4020 /we4024 /we4047 $(PDB_OPTS) $(DLL_FILE_DEF)
LOPTS=-nologo -incremental:no -manifest
!if ("$(BITS)" == "64" )
return ret;
}
- *fd_out = open(O_CREAT | O_RDWR | O_BINARY, 0600);
+ *fd_out = open(fname, O_CREAT | O_RDWR | O_BINARY, 0600);
ret = (*fd_out < 0) ? errno : 0;
if (ret) {
k5_setmsg(context, ret, "%s (filename: %s)",
return ENOENT;
do {
- if (add_filename(&fnames, &n_fnames, &ffd.cFileName) != 0) {
+ if (add_filename(&fnames, &n_fnames, ffd.cFileName) != 0) {
k5_free_filenames(fnames);
FindClose(handle);
return ENOMEM;