git: 9front

Download patch

ref: a1b143a4027c7c77f620c43a4e76f7ad5c4129f3
parent: 508eb08cb54e7284e9794b63e32462405bac8fd0
author: cinap_lenrek <cinap_lenrek@felloff.net>
date: Mon Nov 16 14:56:13 EST 2020

nusb/cam: don't videoclose() when open failed

The fsdestroyfid() is called regardless if the open succeeded
or failed. This causes erroneous videoclose() when opening
the frame or video file while the camera is active.

--- a/sys/src/cmd/nusb/cam/cam.c
+++ b/sys/src/cmd/nusb/cam/cam.c
@@ -284,6 +284,8 @@
 {
 	ReadState *rs;
 
+	if(fid->omode == -1)
+		return;
 	rs = fid->aux;
 	if(rs != nil){
 		free(rs->buf);
--