diff options
-rw-r--r-- | source3/registry/regfio.c | 19 |
1 files changed, 10 insertions, 9 deletions
diff --git a/source3/registry/regfio.c b/source3/registry/regfio.c index b99a954897..4868396986 100644 --- a/source3/registry/regfio.c +++ b/source3/registry/regfio.c @@ -199,7 +199,7 @@ static BOOL prs_regf_block( const char *desc, prs_struct *ps, int depth, REGF_FI prs_debug(ps, depth, desc, "prs_regf_block"); depth++; - if ( !prs_uint8s( True, "header", ps, depth, file->header, sizeof( file->header )) ) + if ( !prs_uint8s( True, "header", ps, depth, (uint8*)file->header, sizeof( file->header )) ) return False; /* yes, these values are always identical so store them only once */ @@ -261,7 +261,7 @@ static BOOL prs_hbin_block( const char *desc, prs_struct *ps, int depth, REGF_HB prs_debug(ps, depth, desc, "prs_regf_block"); depth++; - if ( !prs_uint8s( True, "header", ps, depth, hbin->header, sizeof( hbin->header )) ) + if ( !prs_uint8s( True, "header", ps, depth, (uint8*)hbin->header, sizeof( hbin->header )) ) return False; if ( !prs_uint32( "first_hbin_off", ps, depth, &hbin->first_hbin_off )) @@ -310,7 +310,7 @@ static BOOL prs_nk_rec( const char *desc, prs_struct *ps, int depth, REGF_NK_REC if ( !prs_uint32( "rec_size", ps, depth, &nk->rec_size )) return False; - if ( !prs_uint8s( True, "header", ps, depth, nk->header, sizeof( nk->header )) ) + if ( !prs_uint8s( True, "header", ps, depth, (uint8*)nk->header, sizeof( nk->header )) ) return False; if ( !prs_uint16( "key_type", ps, depth, &nk->key_type )) @@ -371,7 +371,7 @@ static BOOL prs_nk_rec( const char *desc, prs_struct *ps, int depth, REGF_NK_REC return False; } - if ( !prs_uint8s( True, "name", ps, depth, nk->keyname, name_length) ) + if ( !prs_uint8s( True, "name", ps, depth, (uint8*)nk->keyname, name_length) ) return False; if ( UNMARSHALLING(ps) ) @@ -635,7 +635,7 @@ static BOOL hbin_prs_lf_records( const char *desc, REGF_HBIN *hbin, int depth, R if ( !prs_uint32( "rec_size", &hbin->ps, depth, &lf->rec_size )) return False; - if ( !prs_uint8s( True, "header", &hbin->ps, depth, lf->header, sizeof( lf->header )) ) + if ( !prs_uint8s( True, "header", &hbin->ps, depth, (uint8*)lf->header, sizeof( lf->header )) ) return False; if ( !prs_uint16( "num_keys", &hbin->ps, depth, &lf->num_keys)) @@ -689,7 +689,7 @@ static BOOL hbin_prs_sk_rec( const char *desc, REGF_HBIN *hbin, int depth, REGF_ if ( !prs_uint32( "rec_size", &hbin->ps, depth, &sk->rec_size )) return False; - if ( !prs_uint8s( True, "header", ps, depth, sk->header, sizeof( sk->header )) ) + if ( !prs_uint8s( True, "header", ps, depth, (uint8*)sk->header, sizeof( sk->header )) ) return False; if ( !prs_uint16( "tag", ps, depth, &tag)) return False; @@ -741,7 +741,7 @@ static BOOL hbin_prs_vk_rec( const char *desc, REGF_HBIN *hbin, int depth, REGF_ if ( !prs_uint32( "rec_size", &hbin->ps, depth, &vk->rec_size )) return False; - if ( !prs_uint8s( True, "header", ps, depth, vk->header, sizeof( vk->header )) ) + if ( !prs_uint8s( True, "header", ps, depth, (uint8*)vk->header, sizeof( vk->header )) ) return False; if ( MARSHALLING(&hbin->ps) ) @@ -770,7 +770,7 @@ static BOOL hbin_prs_vk_rec( const char *desc, REGF_HBIN *hbin, int depth, REGF_ if ( !(vk->valuename = PRS_ALLOC_MEM( ps, char, name_length+1 ))) return False; } - if ( !prs_uint8s( True, "name", ps, depth, vk->valuename, name_length ) ) + if ( !prs_uint8s( True, "name", ps, depth, (uint8*)vk->valuename, name_length ) ) return False; } @@ -1020,7 +1020,7 @@ static BOOL hbin_prs_key( REGF_FILE *file, REGF_HBIN *hbin, REGF_NK_REC *nk ) static BOOL next_record( REGF_HBIN *hbin, const char *hdr, BOOL *eob ) { - char header[REC_HDR_SIZE] = ""; + uint8 header[REC_HDR_SIZE]; uint32 record_size; uint32 curr_off, block_size; BOOL found = False; @@ -1037,6 +1037,7 @@ static BOOL next_record( REGF_HBIN *hbin, const char *hdr, BOOL *eob ) block_size = prs_data_size( ps ); record_size = 0; + memset( header, 0x0, sizeof(uint8)*REC_HDR_SIZE ); while ( !found ) { curr_off = curr_off+record_size; |