diff options
author | Keir Fraser <keir@xensource.com> | 2007-10-23 14:42:06 +0100 |
---|---|---|
committer | Keir Fraser <keir@xensource.com> | 2007-10-23 14:42:06 +0100 |
commit | 093d6da712d5ad5a3f8158bb967cc119c2408aa1 (patch) | |
tree | dea5e17c150b6a5cad9833298f53c24289e2e8e7 /tools/libxc/xc_dom_boot.c | |
parent | 907e0a6046567e32113433fddea5b55c67961391 (diff) | |
download | xen-093d6da712d5ad5a3f8158bb967cc119c2408aa1.tar.gz xen-093d6da712d5ad5a3f8158bb967cc119c2408aa1.tar.bz2 xen-093d6da712d5ad5a3f8158bb967cc119c2408aa1.zip |
libxc: check length on string copy (strcpy -> strncpy).
Signed-off-by: Christoph Egger <Christoph.Egger@amd.com>
Diffstat (limited to 'tools/libxc/xc_dom_boot.c')
-rw-r--r-- | tools/libxc/xc_dom_boot.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/tools/libxc/xc_dom_boot.c b/tools/libxc/xc_dom_boot.c index e26941f737..30906ee993 100644 --- a/tools/libxc/xc_dom_boot.c +++ b/tools/libxc/xc_dom_boot.c @@ -92,7 +92,9 @@ int xc_dom_compat_check(struct xc_dom_image *dom) char *item, *ptr; int match, found = 0; - strcpy(xen_caps, dom->xen_caps); + strncpy(xen_caps, dom->xen_caps, XEN_CAPABILITIES_INFO_LEN - 1); + xen_caps[XEN_CAPABILITIES_INFO_LEN - 1] = '\0'; + for ( item = strtok_r(xen_caps, " ", &ptr); item != NULL ; item = strtok_r(NULL, " ", &ptr) ) { |