Changes by: cha0smaster
Update of /cvsroot/linux-ntfs/ntfsprogs/libntfs
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv30958/libntfs
Modified Files:
attrlist.c dir.c unistr.c
Log Message:
Cleanups and memleak fix to error code paths of ntfs_create.
Index: attrlist.c
===================================================================
RCS file: /cvsroot/linux-ntfs/ntfsprogs/libntfs/attrlist.c,v
retrieving revision 1.27
retrieving revision 1.28
diff -u -p -r1.27 -r1.28
--- attrlist.c 23 Jul 2005 00:50:33 -0000 1.27
+++ attrlist.c 22 Aug 2005 21:33:07 -0000 1.28
@@ -34,7 +34,7 @@
#include "unistr.h"
/**
- * ntfs_attrlist_need - check whether attribute need attribute list
+ * ntfs_attrlist_need - check whether inode need attribute list
* @ni: opened ntfs inode for which perform check
*
* Check whether all are attributes belong to one MFT record, in that case
Index: dir.c
===================================================================
RCS file: /cvsroot/linux-ntfs/ntfsprogs/libntfs/dir.c,v
retrieving revision 1.21
retrieving revision 1.22
diff -u -p -r1.21 -r1.22
--- dir.c 15 Aug 2005 00:50:19 -0000 1.21
+++ dir.c 22 Aug 2005 21:33:07 -0000 1.22
@@ -1118,6 +1118,7 @@ ntfs_inode *ntfs_create(ntfs_inode *dir_
}
if (ntfs_attr_pwrite(na, 0, si_len, si) != si_len) {
err = errno;
+ ntfs_attr_close(na);
ntfs_error(, "Failed to initialize STANDARD_INFORMATION "
"attribute.");
goto err_out;
@@ -1165,6 +1166,7 @@ ntfs_inode *ntfs_create(ntfs_inode *dir_
if (ntfs_attr_pwrite(na, 0, ir_len, ir) != ir_len) {
err = errno;
free(ir);
+ ntfs_attr_close(na);
ntfs_error(, "Failed to initialize INDEX_ROOT.");
goto err_out;
}
@@ -1207,6 +1209,7 @@ ntfs_inode *ntfs_create(ntfs_inode *dir_
}
if (ntfs_attr_pwrite(na, 0, fn_len, fn) != fn_len) {
err = errno;
+ ntfs_attr_close(na);
ntfs_error(, "Failed to initialize FILE_NAME attribute.");
goto err_out;
}
Index: unistr.c
===================================================================
RCS file: /cvsroot/linux-ntfs/ntfsprogs/libntfs/unistr.c,v
retrieving revision 1.23
retrieving revision 1.24
diff -u -p -r1.23 -r1.24
--- unistr.c 22 Aug 2005 09:00:16 -0000 1.23
+++ unistr.c 22 Aug 2005 21:33:07 -0000 1.24
@@ -314,8 +314,8 @@ void ntfs_file_value_upcase(FILE_NAME_AT
/**
* ntfs_file_values_compare
*/
-int ntfs_file_values_compare(FILE_NAME_ATTR *file_name_attr1,
- FILE_NAME_ATTR *file_name_attr2,
+int ntfs_file_values_compare(const FILE_NAME_ATTR *file_name_attr1,
+ const FILE_NAME_ATTR *file_name_attr2,
const int err_val, const IGNORE_CASE_BOOL ic,
const ntfschar *upcase, const u32 upcase_len)
{
|