]> git.sur5r.net Git - bacula/bacula/commitdiff
Fix bug #1156 FD crash during processing of Accurate data.
authorKern Sibbald <kern@sibbald.com>
Tue, 16 Sep 2008 13:32:18 +0000 (13:32 +0000)
committerKern Sibbald <kern@sibbald.com>
Tue, 16 Sep 2008 13:32:18 +0000 (13:32 +0000)
git-svn-id: https://bacula.svn.sourceforge.net/svnroot/bacula/trunk@7600 91ce42f0-d328-0410-95d8-f526ca767f89

bacula/src/filed/job.c
bacula/src/lib/htable.c
bacula/technotes-2.5

index 0c21ffe5582a23d2f22de434a4d49d73d85ab8f9..98f7318184d67991cae34f37bbc9204bec65d9a2 100644 (file)
@@ -749,7 +749,7 @@ static void add_fileset(JCR *jcr, const char *item)
     */
    if (subcode != ' ') {
       state = state_error;
-      Dmsg0(100, "Set state=error\n"); 
+      Dmsg0(100, "Set state=error or double code.\n");
    }
    switch (code) {
    case 'I':
index d2877d43f01f036bc92f2a2a2fd8f2814de2a537..f04fa55c8e8b511d6f963039bc15c22ea6e6071b 100644 (file)
@@ -227,12 +227,14 @@ void htable::grow_table()
    Dmsg1(100, "Grow called old size = %d\n", buckets);
    /* Setup a bigger table */
    htable *big = (htable *)malloc(sizeof(htable));
+   memcpy(big, this, sizeof(htable));  /* start with original class data */
    big->loffset = loffset;
    big->mask = mask<<1 | 1;
    big->rshift = rshift - 1;
    big->num_items = 0;
    big->buckets = buckets * 2;
    big->max_items = big->buckets * 4;
+   /* Create a bigger hash table */
    big->table = (hlink **)malloc(big->buckets * sizeof(hlink *));
    memset(big->table, 0, big->buckets * sizeof(hlink *));
    big->walkptr = NULL;
index 86cc37cce18747919330c3a54866fba789c2f8b4..e82a74405db091207fcdede4a1e972be38200c12 100644 (file)
@@ -19,6 +19,7 @@ remove reader/writer in FOPTS????
 
 General:
 16Sep08
+kes  Fix bug #1156 FD crash during processing of Accurate data.
 kes  Tweaks to htable code to improved debugging and make names
      a bit more meaningful.
 15Sep08