On Wed, Nov 12, 2014 at 10:02:33AM +0100, Pino Toscano wrote: > Similar to commit 52f9cd4882135910ea06e1e50ac6441d455c9ab1, but for xfs > filesystems. > --- > daemon/daemon.h | 4 ++++ > daemon/labels.c | 6 ++++++ > daemon/xfs.c | 6 ++++++ > 3 files changed, 16 insertions(+) > > diff --git a/daemon/daemon.h b/daemon/daemon.h > index 0ccbc9e..f442efd 100644 > --- a/daemon/daemon.h > +++ b/daemon/daemon.h > @@ -253,6 +253,10 @@ extern void main_loop (int sock) > __attribute__((noreturn)); > /*-- in xattr.c --*/ > extern int copy_xattrs (const char *src, const char *dest); > > +/*-- in xfs.c --*/ > +/* Documented in xfs_admin(8). */ > +#define XFS_LABEL_MAX 12 > + > /* ordinary daemon functions use these to indicate errors > * NB: you don't need to prefix the string with the current command, > * it is added automatically by the client-side RPC stubs. > diff --git a/daemon/labels.c b/daemon/labels.c > index f417c57..cfcb4df 100644 > --- a/daemon/labels.c > +++ b/daemon/labels.c > @@ -118,6 +118,12 @@ xfslabel (const char *device, const char *label) > return -1; > } > > + if (strlen (label) > XFS_LABEL_MAX) { > + reply_with_error ("%s: xfs labels are limited to %d bytes", > + label, XFS_LABEL_MAX); > + return -1; > + } > + > r = command (NULL, &err, str_xfs_admin, "-L", label, device, NULL); > if (r == -1) { > reply_with_error ("%s", err); > diff --git a/daemon/xfs.c b/daemon/xfs.c > index 725f7b3..687013b 100644 > --- a/daemon/xfs.c > +++ b/daemon/xfs.c > @@ -498,6 +498,12 @@ do_xfs_admin (const char *device, > } > > if (optargs_bitmask & GUESTFS_XFS_ADMIN_LABEL_BITMASK) { > + if (strlen (label) > XFS_LABEL_MAX) { > + reply_with_error ("%s: xfs labels are limited to %d bytes", > + label, XFS_LABEL_MAX); > + return -1; > + } > + > ADD_ARG (argv, i, "-L"); > ADD_ARG (argv, i, label); > } > -- > 1.9.3
Looks OK to me, ACK. Rich. -- Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones Read my programming and virtualization blog: http://rwmj.wordpress.com virt-builder quickly builds VMs from scratch http://libguestfs.org/virt-builder.1.html _______________________________________________ Libguestfs mailing list Libguestfs@redhat.com https://www.redhat.com/mailman/listinfo/libguestfs