diff --git a/src/smblib/smballoc.c b/src/smblib/smballoc.c
index 1d51cff4a95ff8773375b992e931ad39646aa1bc..f1c00722ecaee9264839f325f0313f9a47312bdb 100644
--- a/src/smblib/smballoc.c
+++ b/src/smblib/smballoc.c
@@ -326,7 +326,7 @@ int SMBCALL smb_freemsghdr(smb_t* smb, ulong offset, ulong length)
 	}
 
 	if(fseek(smb->sha_fp, sha_offset, SEEK_SET)) {
-		safe_snprintf(smb->last_error,sizeof(smb->last_error),"%s seeking to %ld", __FUNCTION__, sha_offset);
+		safe_snprintf(smb->last_error,sizeof(smb->last_error),"%s seeking to %ld", __FUNCTION__, (long)sha_offset);
 		return(SMB_ERR_SEEK);
 	}
 	for(l=0;l<blocks;l++)