diff --git a/src/smblib/smbtxt.c b/src/smblib/smbtxt.c
index 74e77c867fef07a531f3638c59f29087454960ef..3e6e0abb983909b361918a9da07350a4bf00d4d2 100644
--- a/src/smblib/smbtxt.c
+++ b/src/smblib/smbtxt.c
@@ -309,6 +309,8 @@ static BOOL mime_getattachment(char* beg, char* end, char* attachment)
 			term = filename;
 			FIND_WHITESPACE(term);
 		}
+		if(term - filename >= sizeof(fname))
+			term = filename + sizeof(fname) - 1;
 		memcpy(fname, filename, term - filename);
 		fname[term - filename] = 0;
 		strcpy(attachment, getfname(fname));