From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 20537 invoked by alias); 25 Mar 2008 10:42:01 -0000 Received: (qmail 20517 invoked by uid 9452); 25 Mar 2008 10:42:00 -0000 Date: Tue, 25 Mar 2008 10:42:00 -0000 Message-ID: <20080325104200.20515.qmail@sourceware.org> From: ccaulfield@sourceware.org To: lvm-devel@redhat.com, lvm2-cvs@sourceware.org Subject: LVM2 ./WHATS_NEW daemons/clvmd/clvmd-cman.c Mailing-List: contact lvm2-cvs-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Post: List-Help: , Sender: lvm2-cvs-owner@sourceware.org X-SW-Source: 2008-03/txt/msg00015.txt.bz2 CVSROOT: /cvs/lvm2 Module name: LVM2 Changes by: ccaulfield@sourceware.org 2008-03-25 10:41:59 Modified files: . : WHATS_NEW daemons/clvmd : clvmd-cman.c Log message: When reallocating the node IDs array, make it bigger rather than smaller! Patches: http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/WHATS_NEW.diff?cvsroot=lvm2&r1=1.804&r2=1.805 http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/daemons/clvmd/clvmd-cman.c.diff?cvsroot=lvm2&r1=1.20&r2=1.21 --- LVM2/WHATS_NEW 2008/03/17 09:37:47 1.804 +++ LVM2/WHATS_NEW 2008/03/25 10:41:59 1.805 @@ -1,5 +1,6 @@ Version 2.02.34 - =================================== + clvmd no longer crashes if it sees nodeids over 50. Fix potential deadlock in clvmd thread handling. Refactor text format initialisation into _init_text_import. Escape double quotes and backslashes in external metadata and config data. --- LVM2/daemons/clvmd/clvmd-cman.c 2007/05/02 12:22:40 1.20 +++ LVM2/daemons/clvmd/clvmd-cman.c 2008/03/25 10:41:59 1.21 @@ -241,7 +241,7 @@ if (nodeid >= max_updown_nodes) { int new_size = nodeid + 10; - int *new_updown = realloc(node_updown, new_size); + int *new_updown = realloc(node_updown, sizeof(int) * new_size); if (new_updown) { node_updown = new_updown; @@ -326,7 +326,10 @@ } if (node_updown == NULL) { - size_t buf_len = sizeof(int) * max(num_nodes, max_updown_nodes); + size_t buf_len; + if (num_nodes > max_updown_nodes) + max_updown_nodes = num_nodes; + buf_len = sizeof(int) * max_updown_nodes; node_updown = malloc(buf_len); if (node_updown) memset(node_updown, 0, buf_len);