]> git.sur5r.net Git - bacula/bacula/blobdiff - bacula/src/filed/accurate.c
Fix segfault in accurate code
[bacula/bacula] / bacula / src / filed / accurate.c
index 2c01bab5ff4eaa0d74a886cc9f631b5c70d55062..3479cd5ecaa5cbf74253c8c73be95a77d31c819f 100644 (file)
@@ -212,8 +212,10 @@ static bool accurate_add_file(JCR *jcr, uint32_t len,
    bool ret = true;
    CurFile *item;
 
-   /* we store CurFile, fname and ctime/mtime in the same chunk */
-   item = (CurFile *)jcr->file_list->hash_malloc(sizeof(CurFile)+len);
+   /* we store CurFile, fname and ctime/mtime in the same chunk 
+    * we need some extra bytes to handle an empty chksum
+    */
+   item = (CurFile *)jcr->file_list->hash_malloc(sizeof(CurFile)+len+3);
    item->seen = 0;
 
    /* TODO: see if we can optimize this part with memcpy instead of strcpy */
@@ -494,7 +496,7 @@ int accurate_cmd(JCR *jcr)
    BSOCK *dir = jcr->dir_bsock;
    int lstat_pos, chksum_pos;
    int32_t nb;
-   uint16_t delta_seq;
+   uint32_t delta_seq;
 
    if (job_canceled(jcr)) {
       return true;