Index: /trunk/Ohana/src/libdvo/src/cmf-ps1-sv3.c
===================================================================
--- /trunk/Ohana/src/libdvo/src/cmf-ps1-sv3.c	(revision 37054)
+++ /trunk/Ohana/src/libdvo/src/cmf-ps1-sv3.c	(revision 37055)
@@ -10,5 +10,6 @@
 
   off_t i;
-  unsigned char *byte, *output;
+  unsigned char *byte = NULL;
+  unsigned char *output = NULL;
 
   if (size != ST_SIZE) { 
Index: /trunk/Ohana/src/libdvo/src/dvo_convert_PS1_DEV_3.c
===================================================================
--- /trunk/Ohana/src/libdvo/src/dvo_convert_PS1_DEV_3.c	(revision 37054)
+++ /trunk/Ohana/src/libdvo/src/dvo_convert_PS1_DEV_3.c	(revision 37055)
@@ -4,4 +4,6 @@
 
 // We only provide image and photcode conversion
+
+# define RAW_IMAGE_NAME_LEN 128
 
 Image *Image_PS1_DEV_3_ToInternal (Image_PS1_DEV_3 *in, off_t Nvalues, off_t Nalloc) {
@@ -18,6 +20,7 @@
     memcpy (&out[i].coords, &in[i].coords, sizeof(Coords));
 
-    strncpy (out[i].name, in[i].name, 120); // out[121], in[121]
-    out[i].name[120] = 0; // force termination
+    // RAW_IMAGE_NAME_LEN > DVO_IMAGE_NAME_LEN
+    strncpy (out[i].name, in[i].name, DVO_IMAGE_NAME_LEN - 1);
+    out[i].name[DVO_IMAGE_NAME_LEN - 1] = 0; // force termination
 
     out[i].tzero    	    = in[i].tzero;
@@ -77,6 +80,7 @@
     memcpy (&out[i].coords, &in[i].coords, sizeof(Coords));
 
-    strncpy (out[i].name, in[i].name, 127); // out[128], in[128]
-    out[i].name[127] = 0; // force termination
+    // RAW_IMAGE_NAME_LEN > DVO_IMAGE_NAME_LEN
+    strncpy (out[i].name, in[i].name, DVO_IMAGE_NAME_LEN - 1);
+    out[i].name[DVO_IMAGE_NAME_LEN - 1] = 0; // force termination
 
     out[i].tzero    	    = in[i].tzero;
