[Pkg-nagios-changes] [SCM] Debian packaging for mod gearman. branch, upstream, updated. upstream/1.0.6-34-gd3fb2ec

Sven Nierlein sven at nierlein.de
Wed Aug 24 09:21:59 UTC 2011


The following commit has been merged in the upstream branch:
commit 027b4964422ef531803f1450182a5a4af951dc6e
Author: Sven Nierlein <sven at nierlein.de>
Date:   Mon Aug 15 16:05:38 2011 +0200

    fixed sigsegv when reloading core in combination with exports options

diff --git a/Changes b/Changes
index 15c4d77..a5db112 100644
--- a/Changes
+++ b/Changes
@@ -1,7 +1,8 @@
 This file documents the revision history for mod_gearman.
 
-1.0.9  Thu Jul 28 11:38:15 CEST 2011
+1.0.9  Mon Aug 15 16:05:23 CEST 2011
           - nicer error messages for send_multi when zero results transmitted
+          - fixed sigsegv when reloading core in combination with exports options
 
 1.0.8  Fri Jul 22 22:21:34 CEST 2011
           - use identifier for error messages if set
diff --git a/common/utils.c b/common/utils.c
index 08083ce..78ff2a9 100644
--- a/common/utils.c
+++ b/common/utils.c
@@ -845,7 +845,7 @@ void mod_gm_free_opt(mod_gm_opt_t *opt) {
         free(opt->local_hostgroups_list[i]);
     for(i=0;i<opt->local_servicegroups_num;i++)
         free(opt->local_servicegroups_list[i]);
-    for(i=0;i<=GM_NEBTYPESSIZE;i++) {
+    for(i=0;i<GM_NEBTYPESSIZE;i++) {
         for(j=0;j<opt->exports[i]->elem_number;j++) {
           free(opt->exports[i]->name[j]);
         }
diff --git a/neb_module/mod_gearman.c b/neb_module/mod_gearman.c
index bf363c6..80c5944 100644
--- a/neb_module/mod_gearman.c
+++ b/neb_module/mod_gearman.c
@@ -245,6 +245,7 @@ int nebmodule_deinit( int flags, int reason ) {
 
     /* cleanup */
     free_client(&client);
+
     mod_gm_free_opt(mod_gm_opt);
 
     return NEB_OK;
diff --git a/t/05-neb.c b/t/05-neb.c
index ee350f2..1f5f1a8 100644
--- a/t/05-neb.c
+++ b/t/05-neb.c
@@ -21,6 +21,28 @@ check_result check_result_info;
 int process_performance_data;
 
 int main(void) {
+    int i;
+
+    plan(28);
+
+    char * test_nebargs[] = {
+        "encryption=no server=localhost",
+        "key=test12345 server=localhost",
+        "encryption=no server=localhost export=log_queue:1:NEBCALLBACK_LOG_DATA",
+        "encryption=no server=localhost export=log_queue:1:NEBCALLBACK_LOG_DATA export=proc_queue:0:NEBCALLBACK_PROCESS_DATA",
+    };
+
+    int num = sizeof(test_nebargs) / sizeof(test_nebargs[0]);
+    for(i=0;i<num;i++) {
+        check_neb(test_nebargs[i]);
+    }
+
+    return exit_status();
+}
+
+
+void check_neb(char * nebargs);
+void check_neb(char * nebargs) {
     int (*initfunc)(int,char *,void *);
     int (*deinitfunc)(int,int);
     int (*callfunc)(int,void *);
@@ -29,9 +51,6 @@ int main(void) {
     lt_ptr init_func;
     lt_ptr deinit_func;
     lt_ptr call_func;
-    char * nebargs = "encryption=no server=localhost";
-
-    plan(7);
 
     /* set some external variables */
     service_check_timeout            = 30;
@@ -79,7 +98,7 @@ int main(void) {
     result=dlclose(neb_handle);
     ok(result == 0, "dlclose() -> %d", result);
 
-    return exit_status();
+    return;
 }
 
 /* core log wrapper */

-- 
Debian packaging for mod gearman.



More information about the Pkg-nagios-changes mailing list