[dpdk-dev,2/5] virtio: check vq parameter in virtqueue_detatch_unused() function
Commit Message
If vq is NULL, there is a segmentation fault.
Signed-off-by: Bernard Iremonger <bernard.iremonger@intel.com>
---
drivers/net/virtio/virtqueue.c | 14 ++++++++------
1 file changed, 8 insertions(+), 6 deletions(-)
@@ -1,7 +1,7 @@
/*-
* BSD LICENSE
*
- * Copyright(c) 2010-2014 Intel Corporation. All rights reserved.
+ * Copyright(c) 2010-2015 Intel Corporation. All rights reserved.
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@@ -60,11 +60,13 @@ virtqueue_detatch_unused(struct virtqueue *vq)
struct rte_mbuf *cookie;
int idx;
- for (idx = 0; idx < vq->vq_nentries; idx++) {
- if ((cookie = vq->vq_descx[idx].cookie) != NULL) {
- vq->vq_descx[idx].cookie = NULL;
- return cookie;
+ if (vq != NULL)
+ for (idx = 0; idx < vq->vq_nentries; idx++) {
+ cookie = vq->vq_descx[idx].cookie;
+ if (cookie != NULL) {
+ vq->vq_descx[idx].cookie = NULL;
+ return cookie;
+ }
}
- }
return NULL;
}