gfs2: Fix possible fs name overflows
This patch fixes three places in which temporary character buffers
could overflow due to the addition of the file system id from patch
3792ce973f
. Thanks to Dan Carpenter for pointing it out.
Signed-off-by: Bob Peterson <rpeterso@redhat.com>
Signed-off-by: Andreas Gruenbacher <agruenba@redhat.com>
This commit is contained in:
Родитель
8c5ca11710
Коммит
98fb057487
|
@ -1788,8 +1788,8 @@ void gfs2_dump_glock(struct seq_file *seq, struct gfs2_glock *gl, bool fsid)
|
|||
unsigned long long dtime;
|
||||
const struct gfs2_holder *gh;
|
||||
char gflags_buf[32];
|
||||
char fs_id_buf[GFS2_FSNAME_LEN + 3 * sizeof(int) + 2];
|
||||
struct gfs2_sbd *sdp = gl->gl_name.ln_sbd;
|
||||
char fs_id_buf[sizeof(sdp->sd_fsname) + 7];
|
||||
|
||||
memset(fs_id_buf, 0, sizeof(fs_id_buf));
|
||||
if (fsid && sdp) /* safety precaution */
|
||||
|
|
|
@ -2285,7 +2285,7 @@ void gfs2_rgrp_dump(struct seq_file *seq, struct gfs2_glock *gl,
|
|||
static void gfs2_rgrp_error(struct gfs2_rgrpd *rgd)
|
||||
{
|
||||
struct gfs2_sbd *sdp = rgd->rd_sbd;
|
||||
char fs_id_buf[GFS2_FSNAME_LEN + 3 * sizeof(int) + 2];
|
||||
char fs_id_buf[sizeof(sdp->sd_fsname) + 7];
|
||||
|
||||
fs_warn(sdp, "rgrp %llu has an error, marking it readonly until umount\n",
|
||||
(unsigned long long)rgd->rd_addr);
|
||||
|
|
|
@ -178,7 +178,7 @@ int gfs2_consist_rgrpd_i(struct gfs2_rgrpd *rgd, int cluster_wide,
|
|||
const char *function, char *file, unsigned int line)
|
||||
{
|
||||
struct gfs2_sbd *sdp = rgd->rd_sbd;
|
||||
char fs_id_buf[GFS2_FSNAME_LEN + 3 * sizeof(int) + 2];
|
||||
char fs_id_buf[sizeof(sdp->sd_fsname) + 7];
|
||||
int rv;
|
||||
|
||||
sprintf(fs_id_buf, "fsid=%s: ", sdp->sd_fsname);
|
||||
|
|
Загрузка…
Ссылка в новой задаче