1
0
mirror of https://github.com/samba-team/samba.git synced 2025-03-08 04:58:40 +03:00

locking/posix.c: Fixed double-free nasty crash bug found by insure.

utils/make_smbcodepage.c:
utils/make_unicodemap.c: Insure 'make install' fixes.
Jeremy.
This commit is contained in:
Jeremy Allison -
parent c40e0a5d3b
commit 3b25f7368b
3 changed files with 10 additions and 4 deletions

View File

@ -246,9 +246,6 @@ int fd_close_posix(struct connection_struct *conn, files_struct *fsp)
}
}
if (fd_array)
free((char *)fd_array);
/*
* Delete all fd's stored in the tdb
* for this dev/inode pair.

View File

@ -167,6 +167,7 @@ static int do_compile(int codepage, char *input_file, char *output_file)
FILE *fp = NULL;
size_t size = 0;
char *buf = NULL;
char *orig_buf = NULL;
char output_buf[CODEPAGE_HEADER_SIZE + 4 * MAXCODEPAGELINES];
int num_lines = 0;
int i = 0;
@ -223,6 +224,8 @@ The maximum size I will believe is 100k.\n", prog_name, size);
num_lines = clean_data( &buf, &size);
orig_buf = buf; /* Save for free(). */
/* There can be a maximum of MAXCODEPAGELINES lines. */
if(num_lines > MAXCODEPAGELINES)
{
@ -300,6 +303,7 @@ definition file. File %s has %d.\n", prog_name, MAXCODEPAGELINES, input_file, nu
fclose(fp);
free(orig_buf);
return 0;
}

View File

@ -139,6 +139,7 @@ static int do_compile(const char *codepage, const char *input_file, const char *
size_t size = 0;
size_t offset = 0;
char *buf = NULL;
char *orig_buf = NULL;
char *output_buf = NULL;
uint16 cp_to_ucs2[65536];
uint16 ucs2_to_cp[65536];
@ -186,6 +187,8 @@ static int do_compile(const char *codepage, const char *input_file, const char *
num_lines = clean_data( &buf, &size);
orig_buf = buf; /* Store for free(). */
/*
* Initialize the output data.
*/
@ -285,7 +288,9 @@ static int do_compile(const char *codepage, const char *input_file, const char *
}
fclose(fp);
free(orig_buf);
free(output_buf);
return 0;
}