Fix a panic in the varsym_get(2) syscall.
authorSascha Wildner <saw@online.de>
Sun, 8 Aug 2010 18:13:07 +0000 (20:13 +0200)
committerSascha Wildner <saw@online.de>
Sun, 8 Aug 2010 18:13:07 +0000 (20:13 +0200)
In varsymfind(), release the lock only if vss != NULL. This could be
the case if garbage was passed in the mask.

sys/kern/kern_varsym.c

index 6e0d85c..09b4af7 100644 (file)
@@ -421,7 +421,8 @@ varsymfind(int mask, const char *name, int namelen)
     } else {
        sym = NULL;
     }
-    lockmgr(&vss->vx_lock, LK_RELEASE);
+    if (vss)
+       lockmgr(&vss->vx_lock, LK_RELEASE);
     return sym;
 }