diff options
author | emaste <emaste@FreeBSD.org> | 2012-10-17 18:21:14 +0000 |
---|---|---|
committer | emaste <emaste@FreeBSD.org> | 2012-10-17 18:21:14 +0000 |
commit | b993898a36477020570d9872d03dcd8e07d0ab9a (patch) | |
tree | 5fc0f7eb674023be17bec67f627e61f5bd16d29e /sys/dev/netmap/netmap_mem2.c | |
parent | 57b3e442e27c31c4e610a0e8effc3f47b2572fc6 (diff) | |
download | FreeBSD-src-b993898a36477020570d9872d03dcd8e07d0ab9a.zip FreeBSD-src-b993898a36477020570d9872d03dcd8e07d0ab9a.tar.gz |
Avoid panic when a netmap instance cannot obtain memory.
A uint32_t is always >= 0.
Sponsored by: ADARA Networks
Diffstat (limited to 'sys/dev/netmap/netmap_mem2.c')
-rw-r--r-- | sys/dev/netmap/netmap_mem2.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/sys/dev/netmap/netmap_mem2.c b/sys/dev/netmap/netmap_mem2.c index 03a665a..cc97a97 100644 --- a/sys/dev/netmap/netmap_mem2.c +++ b/sys/dev/netmap/netmap_mem2.c @@ -325,7 +325,8 @@ netmap_new_bufs(struct netmap_if *nifp, return; cleanup: - for (i--; i >= 0; i--) { + while (i > 0) { + i--; netmap_obj_free(nm_mem->nm_buf_pool, slot[i].buf_idx); } } |