From: Kern Sibbald Date: Wed, 30 Jul 2003 09:58:01 +0000 (+0000) Subject: Doc updates + fix orphaned buffer and The data is not valid msg X-Git-Tag: Release-1.31~4 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=887b27b289665b78f4e8bc274748c83f857fdc3c;p=bacula%2Fbacula Doc updates + fix orphaned buffer and The data is not valid msg git-svn-id: https://bacula.svn.sourceforge.net/svnroot/bacula/trunk@652 91ce42f0-d328-0410-95d8-f526ca767f89 --- diff --git a/bacula/ChangeLog b/bacula/ChangeLog index bec153b2e2..8826ebf772 100644 --- a/bacula/ChangeLog +++ b/bacula/ChangeLog @@ -1,5 +1,9 @@ -2003-07-xx Version 1.31 Beta 28Jul03 +2003-07-30 Version 1.31 Beta 30Jul03 +- Integrated Robert Mathews improved description of Priorities into + the manual. +- Chased down the "The data is not valid" bug on WinMe/98/95. +- Found an orphaned buffer in the set_attributs part of WinMe/98/95. - Add sleep(1) to console when it gets a SIGTSTP signal to prevent it from using 100% of the CPU. - Improve description of Priorities. diff --git a/bacula/src/findlib/bfile.c b/bacula/src/findlib/bfile.c index 30761e1051..3f2c953900 100644 --- a/bacula/src/findlib/bfile.c +++ b/bacula/src/findlib/bfile.c @@ -252,6 +252,7 @@ int bopen(BFILE *bfd, const char *fname, int flags, mode_t mode) } bfd->errmsg = NULL; bfd->lpContext = NULL; + free_pool_memory(win32_fname); return bfd->mode == BF_CLOSED ? -1 : 1; } diff --git a/bacula/src/lib/attr.c b/bacula/src/lib/attr.c index 49023bea59..dc8362afa0 100644 --- a/bacula/src/lib/attr.c +++ b/bacula/src/lib/attr.c @@ -37,6 +37,7 @@ ATTR *new_attr() memset(attr, 0, sizeof(ATTR)); attr->ofname = get_pool_memory(PM_FNAME); attr->olname = get_pool_memory(PM_FNAME); + attr->attrEx = get_pool_memory(PM_FNAME); return attr; } @@ -44,6 +45,7 @@ void free_attr(ATTR *attr) { free_pool_memory(attr->olname); free_pool_memory(attr->ofname); + free_pool_memory(attr->attrEx); free(attr); } @@ -91,7 +93,7 @@ int unpack_attributes_record(JCR *jcr, int32_t stream, char *rec, ATTR *attr) attr->lname = p; /* set link position */ while (*p++ != 0) /* skip link */ { } - attr->attrEx = p; /* set extended attributes position */ + pm_strcpy(&attr->attrEx, p); /* copy extended attributes, if any */ if (attr->data_stream) { int64_t val; diff --git a/bacula/src/lib/attr.h b/bacula/src/lib/attr.h index 5723394266..29d057c2a1 100644 --- a/bacula/src/lib/attr.h +++ b/bacula/src/lib/attr.h @@ -33,10 +33,15 @@ struct ATTR { int32_t file_index; /* file index */ int32_t LinkFI; /* file index to data if hard link */ struct stat statp; /* decoded stat packet */ + POOLMEM *attrEx; /* extended attributes if any */ + POOLMEM *ofname; /* output filename */ + POOLMEM *olname; /* output link name */ + /* + * Note the following three variables point into the + * current BSOCK record, so they are invalid after + * the next socket read! + */ char *attr; /* attributes position */ - char *attrEx; /* extended attributes if any */ char *fname; /* filename */ char *lname; /* link name if any */ - POOLMEM *ofname; /* output filename */ - POOLMEM *olname; /* output link name */ }; diff --git a/bacula/src/version.h b/bacula/src/version.h index 02135eb270..7c2a606e2f 100644 --- a/bacula/src/version.h +++ b/bacula/src/version.h @@ -1,8 +1,8 @@ /* */ #define VERSION "1.31" #define VSTRING "1" -#define BDATE "28 Jul 2003" -#define LSMDATE "28Jul03" +#define BDATE "30 Jul 2003" +#define LSMDATE "30Jul03" /* Debug flags */ #define DEBUG 1