[sheepdog] [PATCH] collie: fix NULL dereference in find_vdi_name()
Liu Yuan
namei.unix at gmail.com
Wed Feb 6 10:43:07 CET 2013
From: Liu Yuan <tailai.ly at taobao.com>
Some users pass NULL of tag to find_vdi_name, such as vdi_rollback(),
in this case we'll segfault.
Signed-off-by: Liu Yuan <tailai.ly at taobao.com>
---
collie/vdi.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/collie/vdi.c b/collie/vdi.c
index 581dcdc..3fb7d68 100644
--- a/collie/vdi.c
+++ b/collie/vdi.c
@@ -396,7 +396,8 @@ static int find_vdi_name(const char *vdiname, uint32_t snapid, const char *tag,
memset(buf, 0, sizeof(buf));
pstrcpy(buf, SD_MAX_VDI_LEN, vdiname);
- pstrcpy(buf + SD_MAX_VDI_LEN, SD_MAX_VDI_TAG_LEN, tag);
+ if (tag)
+ pstrcpy(buf + SD_MAX_VDI_LEN, SD_MAX_VDI_TAG_LEN, tag);
if (for_snapshot)
sd_init_req(&hdr, SD_OP_GET_VDI_INFO);
--
1.7.9.5
More information about the sheepdog
mailing list