summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog8
-rw-r--r--configure.in7
-rw-r--r--libpam/pam_private.h1
-rw-r--r--libpam_misc/misc_conv.c8
-rw-r--r--modules/pam_umask/pam_umask.c7
5 files changed, 20 insertions, 11 deletions
diff --git a/ChangeLog b/ChangeLog
index b4563a68..8ccad3fb 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,13 @@
2006-01-13 Thorsten Kukuk <kukuk@thkukuk.de>
+ * libpam_misc/misc_conv.c (misc_conv): Fix strict aliasing
+ error.
+
+ * modules/pam_umask/pam_umask.c (search_key): Don't ignore
+ EOF/error return value from fgets().
+
+ * configure.in: Check for getline and getdelim
+
* po/fi.po: Add new translations.
* po/de.po: Likewise.
* po/es.po: Likewise.
diff --git a/configure.in b/configure.in
index 0b0b18f2..5641dddf 100644
--- a/configure.in
+++ b/configure.in
@@ -390,9 +390,10 @@ AC_TYPE_GETGROUPS
AC_PROG_GCC_TRADITIONAL
AC_FUNC_MEMCMP
AC_FUNC_VPRINTF
-AC_CHECK_FUNCS(gethostname gettimeofday lckpwdf mkdir select strcspn strdup strspn strstr strtol uname)
-
-AC_CHECK_FUNCS(getpwnam_r getpwuid_r getgrnam_r getgrgid_r getspnam_r getgrouplist)
+AC_CHECK_FUNCS(gethostname gettimeofday lckpwdf mkdir select)
+AC_CHECK_FUNCS(strcspn strdup strspn strstr strtol uname)
+AC_CHECK_FUNCS(getpwnam_r getpwuid_r getgrnam_r getgrgid_r getspnam_r)
+AC_CHECK_FUNCS(getgrouplist getline getdelim)
dnl Checks for programs/utilities
AC_CHECK_PROG(SGML2PS, sgml2ps, yes, no)
diff --git a/libpam/pam_private.h b/libpam/pam_private.h
index ce255452..3d86b868 100644
--- a/libpam/pam_private.h
+++ b/libpam/pam_private.h
@@ -290,7 +290,6 @@ if ((pamh) == NULL) { \
#define __PAM_TO_APP(pamh) \
do { (pamh)->caller_is = _PAM_CALLED_FROM_APP; } while (0)
-
#if HAVE_LIBAUDIT
extern int _pam_auditlog(pam_handle_t *pamh, int action, int retval, int flags);
extern int _pam_audit_end(pam_handle_t *pamh, int pam_status);
diff --git a/libpam_misc/misc_conv.c b/libpam_misc/misc_conv.c
index e5095d91..8db24d74 100644
--- a/libpam_misc/misc_conv.c
+++ b/libpam_misc/misc_conv.c
@@ -1,6 +1,4 @@
/*
- * $Id$
- *
* A generic conversation function for text based applications
*
* Written by Andrew Morgan <morgan@linux.kernel.org>
@@ -377,9 +375,11 @@ failed_conversation:
free(reply[count].resp);
break;
case PAM_BINARY_PROMPT:
- pam_binary_handler_free(appdata_ptr,
- (pamc_bp_t *) &reply[count].resp);
+ {
+ void *bt_ptr = reply[count].resp;
+ pam_binary_handler_free(appdata_ptr, bt_ptr);
break;
+ }
case PAM_ERROR_MSG:
case PAM_TEXT_INFO:
/* should not actually be able to get here... */
diff --git a/modules/pam_umask/pam_umask.c b/modules/pam_umask/pam_umask.c
index e93efc01..46f25ae7 100644
--- a/modules/pam_umask/pam_umask.c
+++ b/modules/pam_umask/pam_umask.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2005 Thorsten Kukuk <kukuk@thkukuk.de>
+ * Copyright (c) 2005, 2006 Thorsten Kukuk <kukuk@thkukuk.de>
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -105,8 +105,9 @@ search_key (const char *filename)
buf = malloc (buflen);
}
buf[0] = '\0';
- fgets (buf, buflen - 1, fp);
- if (buf != NULL)
+ if (fgets (buf, buflen - 1, fp) == NULL)
+ break;
+ else if (buf != NULL)
n = strlen (buf);
else
n = 0;