From fa0151e18e1acb2e4523796e550cbce101e919c5 Mon Sep 17 00:00:00 2001 From: Al Viro Date: Sat, 26 Jan 2008 00:02:29 -0500 Subject: [PATCH] --- yaml --- r: 84891 b: refs/heads/master c: a9cc9159281d44754f621f75d4efad0076b29db4 h: refs/heads/master i: 84889: a4df49ea084a4d6306e10e7f050830d206123998 84887: df42d6ed7eeb10812003a80dd724833f6b41583a v: v3 --- [refs] | 2 +- trunk/fs/dlm/lock.c | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/[refs] b/[refs] index 79998e3d5954..b4f1dfcff680 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: ef58bccab7c7ef34451aa4ceea39545ef126b666 +refs/heads/master: a9cc9159281d44754f621f75d4efad0076b29db4 diff --git a/trunk/fs/dlm/lock.c b/trunk/fs/dlm/lock.c index 6d98cf9d043d..5b82187e0221 100644 --- a/trunk/fs/dlm/lock.c +++ b/trunk/fs/dlm/lock.c @@ -1226,6 +1226,8 @@ static void set_lvb_lock_pc(struct dlm_rsb *r, struct dlm_lkb *lkb, b = dlm_lvb_operations[lkb->lkb_grmode + 1][lkb->lkb_rqmode + 1]; if (b == 1) { int len = receive_extralen(ms); + if (len > DLM_RESNAME_MAXLEN) + len = DLM_RESNAME_MAXLEN; memcpy(lkb->lkb_lvbptr, ms->m_extra, len); lkb->lkb_lvbseq = ms->m_lvbseq; } @@ -2993,6 +2995,8 @@ static int receive_lvb(struct dlm_ls *ls, struct dlm_lkb *lkb, if (!lkb->lkb_lvbptr) return -ENOMEM; len = receive_extralen(ms); + if (len > DLM_RESNAME_MAXLEN) + len = DLM_RESNAME_MAXLEN; memcpy(lkb->lkb_lvbptr, ms->m_extra, len); } return 0;