diff --git a/wiretap/daintree-sna.c.old b/wiretap/daintree-sna.c
--- a/wiretap/daintree-sna.c.old	2009-11-16 21:33:22.000000000 +0100
+++ b/wiretap/daintree-sna.c	2009-12-02 18:29:45.000000000 +0100
@@ -146,7 +146,7 @@ daintree_sna_read(wtap *wth, int *err, g
 	} while (readLine[0] == COMMENT_LINE);
 
 	/* parse one line of capture data */
-	if (sscanf(readLine, "%*s %" G_GINT64_MODIFIER "u.%u %u %s",
+	if (sscanf(readLine, "%*s %" G_GINT64_MODIFIER "u.%u %u %255s",
 		&seconds, &wth->phdr.ts.nsecs,
 		&wth->phdr.len, readData) != 4) {
 			*err = WTAP_ERR_BAD_RECORD;
@@ -202,7 +202,7 @@ daintree_sna_seek_read(wtap *wth, gint64
 	} while (seekLine[0] == COMMENT_LINE);
 
 	/* ignore all but packet data, since the sequential read pass stored everything else */
-	if (sscanf(seekLine, "%*s %*u.%*u %*u %s", seekData) != 1) {
+	if (sscanf(seekLine, "%*s %*u.%*u %*u %255s", seekData) != 1) {
 		*err = WTAP_ERR_BAD_RECORD;
 		*err_info = g_strdup("daintree_sna: corrupted seek record");
 		return FALSE;