diff --git a/apps/sam/c/src/tinystring.c b/apps/sam/c/src/tinystring.c
index 395a50a88507a77df45fd12098503eee2535bad2..cbbbbfc2c13c245d3c8fb76411035566581b619c 100644
--- a/apps/sam/c/src/tinystring.c
+++ b/apps/sam/c/src/tinystring.c
@@ -90,6 +90,7 @@ void string_copy(string_t src,string_t dest) {
 void string_copy_raw(string_t src, void* dest,size_t size) {
     size = min(src->size,size);
     memcpy(dest,src->data,size);
+    ((char*)dest)[size] = '\0';
 }
 
 const char* string_data(string_t self) {
diff --git a/history.txt b/history.txt
index a7291507a6da563ee4924244185b61a14d8624b1..5c8e79f424f8e713fbba240ddfbed33d0b4d1fc1 100644
--- a/history.txt
+++ b/history.txt
@@ -1,4 +1,7 @@
-$Id: history.txt,v 1.345 2005/12/03 22:18:09 jrandom Exp $
+$Id: history.txt,v 1.346 2005/12/04 15:02:25 jrandom Exp $
+
+2005-12-04  TLorD
+    * Patch for the C SAM library to null terminate strings on copy (thanks!)
 
 2005-12-04  jrandom
     * Bugfix in Syndie for a problem in the threaded indexer (thanks CofE!)