Index: atsc_depad.cc
===================================================================
--- atsc_depad.cc	(revision 8206)
+++ atsc_depad.cc	(working copy)
@@ -66,15 +66,9 @@
   unsigned int ATSC_MPEG_PKT = sizeof(atsc_mpeg_packet);
   unsigned int i;
 
-  for (i = 0; i < noutput_items/ATSC_MPEG_PKT + 1; i++){
-    for (int j = 0; j < ATSC_MPEG_PKT_LENGTH; j++)
-	out[i * ATSC_MPEG_PKT_LENGTH + j] = in[i * ATSC_MPEG_PKT].data[j];
-
+  for (i = 0; i < noutput_items/ATSC_MPEG_PKT_LENGTH; i++){
+    memcpy(&out[i * ATSC_MPEG_PKT_LENGTH], in[i].data, ATSC_MPEG_PKT_LENGTH);
   }
 
   return i * ATSC_MPEG_PKT_LENGTH;
 }
-
-
-
-
Index: atsci_sssr.cc
===================================================================
--- atsci_sssr.cc	(revision 8206)
+++ atsci_sssr.cc	(working copy)
@@ -97,6 +97,7 @@
 
 atsci_sssr::atsci_sssr ()
 {
+	d_debug_fp = NULL;
   reset ();
   
   if (_SSSR_DIAG_OUTPUT_){
@@ -111,7 +112,10 @@
 atsci_sssr::~atsci_sssr ()
 {
   if (d_debug_fp)
+	{
     fclose (d_debug_fp);
+	d_debug_fp = NULL;
+	}
 }
 
 void
@@ -211,7 +215,10 @@
 atsci_interpolator::~atsci_interpolator ()
 {
   if (d_debug_fp)
+	{
     fclose (d_debug_fp);
+	d_debug_fp = NULL;
+	}
 }
 
 void
