mirror of
https://github.com/u-boot/u-boot.git
synced 2025-05-08 19:11:53 +00:00
tools: Avoid leaving extra data at the end of copied files
The copyfile() implementation has strange behaviour if the destination file already exists. Update it to ensure that any existing data in the destination file is dropped. Signed-off-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
parent
e291a5c9a2
commit
7ae46c3579
2 changed files with 3 additions and 1 deletions
|
@ -134,7 +134,7 @@ int copyfile(const char *src, const char *dst)
|
||||||
goto out;
|
goto out;
|
||||||
}
|
}
|
||||||
|
|
||||||
fd_dst = open(dst, O_WRONLY | O_CREAT, 0666);
|
fd_dst = open(dst, O_WRONLY | O_CREAT | O_TRUNC, 0666);
|
||||||
if (fd_dst < 0) {
|
if (fd_dst < 0) {
|
||||||
printf("Can't open file %s (%s)\n", dst, strerror(errno));
|
printf("Can't open file %s (%s)\n", dst, strerror(errno));
|
||||||
goto out;
|
goto out;
|
||||||
|
|
|
@ -44,6 +44,8 @@ int mmap_fdt(const char *cmdname, const char *fname, size_t size_inc,
|
||||||
*
|
*
|
||||||
* This uses read()/write() to copy file @src to file @dst
|
* This uses read()/write() to copy file @src to file @dst
|
||||||
*
|
*
|
||||||
|
* If @dst exists, it is overwritten and truncated to the correct size.
|
||||||
|
*
|
||||||
* @src: Filename to read from
|
* @src: Filename to read from
|
||||||
* @dst: Filename to write to
|
* @dst: Filename to write to
|
||||||
* @return 0 if OK, -1 on error
|
* @return 0 if OK, -1 on error
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue