changeset 152:54976019a5a8

Fix problem in pack where cv is set with uninitialized btyes
author David Demelier <markand@malikania.fr>
date Wed, 27 Jun 2012 11:23:54 +0200
parents cedd831d02ff
children a6a7cd08be72
files directory.c pack.c
diffstat 2 files changed, 5 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/directory.c	Fri Jun 22 22:59:46 2012 +0200
+++ b/directory.c	Wed Jun 27 11:23:54 2012 +0200
@@ -141,4 +141,4 @@
 
 	free(dir->ents);
 	free(dir);
-}
\ No newline at end of file
+}
--- a/pack.c	Fri Jun 22 22:59:46 2012 +0200
+++ b/pack.c	Wed Jun 27 11:23:54 2012 +0200
@@ -207,7 +207,9 @@
 		conv = pack_getconvert_by_size(size);
 
 	for (i = 0; i < length; ++i) {
-		cv = arr[i * size];
+		cv = 0;
+		memcpy(&cv, &arr[i * size], size);
+
 		if (conv != NULL)
 			conv(&cv);
 
@@ -394,6 +396,7 @@
 			continue;
 
 		for (i = 0; i < nelem; ++i) {
+			memset(&ptr[tocopy * i], 0, tocopy);
 			if (fread(&ptr[tocopy * i], tocopy, 1, fp) <= 0)
 				return -1;