The branch, master has been updated
       via  53829fd s3:modules properly terminate enums in nfs4 acl code
       via  425ac2c s3:vfs properly terminate enums in audit modules
      from  9c3e538 Fix bug #8150 - Ban 'dos charset = utf8'

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master


- Log -----------------------------------------------------------------
commit 53829fd4951fc1189d64ecef1c1f58d21f0fb38b
Author: Christian Ambach <a...@samba.org>
Date:   Tue May 24 19:01:22 2011 +0200

    s3:modules properly terminate enums in nfs4 acl code
    
    same issue as with the audit modules:
    using a wrong parameter leads to smbd crash as lp_enum()
    will not terminate on last entry of the array
    
    Autobuild-User: Christian Ambach <a...@samba.org>
    Autobuild-Date: Tue May 24 20:13:39 CEST 2011 on sn-devel-104

commit 425ac2c361fc1712c09b52f2cab0988597bf9b7e
Author: Christian Ambach <a...@samba.org>
Date:   Tue May 24 17:19:52 2011 +0200

    s3:vfs properly terminate enums in audit modules
    
    without the proper terminations of the enums, invalid arguments
    for the audit modules will lead to a smbd crash as the loop in
    lp_enum() will attempt to access memory behind the array

-----------------------------------------------------------------------

Summary of changes:
 source3/modules/nfs4_acls.c      |    4 +++-
 source3/modules/vfs_audit.c      |    6 ++++--
 source3/modules/vfs_extd_audit.c |    6 ++++--
 source3/modules/vfs_full_audit.c |    6 ++++--
 4 files changed, 15 insertions(+), 7 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source3/modules/nfs4_acls.c b/source3/modules/nfs4_acls.c
index 91e98f6..c841d83 100644
--- a/source3/modules/nfs4_acls.c
+++ b/source3/modules/nfs4_acls.c
@@ -398,13 +398,15 @@ static int smbacl4_get_vfs_params(
 {
        static const struct enum_list enum_smbacl4_modes[] = {
                { e_simple, "simple" },
-               { e_special, "special" }
+               { e_special, "special" },
+               { -1 , NULL }
        };
        static const struct enum_list enum_smbacl4_acedups[] = {
                { e_dontcare, "dontcare" },
                { e_reject, "reject" },
                { e_ignore, "ignore" },
                { e_merge, "merge" },
+               { -1 , NULL }
        };
 
        memset(params, 0, sizeof(smbacl4_vfs_params));
diff --git a/source3/modules/vfs_audit.c b/source3/modules/vfs_audit.c
index 349600f..8213baf 100644
--- a/source3/modules/vfs_audit.c
+++ b/source3/modules/vfs_audit.c
@@ -40,7 +40,8 @@ static int audit_syslog_facility(vfs_handle_struct *handle)
                { LOG_LOCAL4, "LOCAL4" },
                { LOG_LOCAL5, "LOCAL5" },
                { LOG_LOCAL6, "LOCAL6" },
-               { LOG_LOCAL7, "LOCAL7" }
+               { LOG_LOCAL7, "LOCAL7" },
+               { -1, NULL}
        };
 
        int facility;
@@ -61,7 +62,8 @@ static int audit_syslog_priority(vfs_handle_struct *handle)
                { LOG_WARNING, "WARNING" },
                { LOG_NOTICE, "NOTICE" },
                { LOG_INFO, "INFO" },
-               { LOG_DEBUG, "DEBUG" }
+               { LOG_DEBUG, "DEBUG" },
+               { -1, NULL}
        };
 
        int priority;
diff --git a/source3/modules/vfs_extd_audit.c b/source3/modules/vfs_extd_audit.c
index 34a43c7..192b075 100644
--- a/source3/modules/vfs_extd_audit.c
+++ b/source3/modules/vfs_extd_audit.c
@@ -43,7 +43,8 @@ static int audit_syslog_facility(vfs_handle_struct *handle)
                { LOG_LOCAL4, "LOCAL4" },
                { LOG_LOCAL5, "LOCAL5" },
                { LOG_LOCAL6, "LOCAL6" },
-               { LOG_LOCAL7, "LOCAL7" }
+               { LOG_LOCAL7, "LOCAL7" },
+               { -1, NULL}
        };
 
        int facility;
@@ -64,7 +65,8 @@ static int audit_syslog_priority(vfs_handle_struct *handle)
                { LOG_WARNING, "WARNING" },
                { LOG_NOTICE, "NOTICE" },
                { LOG_INFO, "INFO" },
-               { LOG_DEBUG, "DEBUG" }
+               { LOG_DEBUG, "DEBUG" },
+               { -1, NULL}
        };
 
        int priority;
diff --git a/source3/modules/vfs_full_audit.c b/source3/modules/vfs_full_audit.c
index a723a0c..e4d9599 100644
--- a/source3/modules/vfs_full_audit.c
+++ b/source3/modules/vfs_full_audit.c
@@ -355,7 +355,8 @@ static int audit_syslog_facility(vfs_handle_struct *handle)
                { LOG_LOCAL4, "LOCAL4" },
                { LOG_LOCAL5, "LOCAL5" },
                { LOG_LOCAL6, "LOCAL6" },
-               { LOG_LOCAL7, "LOCAL7" }
+               { LOG_LOCAL7, "LOCAL7" },
+               { -1, NULL}
        };
 
        int facility;
@@ -375,7 +376,8 @@ static int audit_syslog_priority(vfs_handle_struct *handle)
                { LOG_WARNING, "WARNING" },
                { LOG_NOTICE, "NOTICE" },
                { LOG_INFO, "INFO" },
-               { LOG_DEBUG, "DEBUG" }
+               { LOG_DEBUG, "DEBUG" },
+               { -1, NULL}
        };
 
        int priority;


-- 
Samba Shared Repository

Reply via email to