Plan 9 from Bell Labs’s /usr/web/sources/contrib/uriel/changes/2005/1027/4

Copyright © 2021 Plan 9 Foundation.
Distributed under the MIT License.
Download the Plan 9 distribution.


Handle unparseable URLs sent via plumber.
 [rsc] --rw-rw-r-- M 320859 glenda sys 6818 Oct 27 10:18 sys/src/cmd/webfs/client.c
	/n/sourcesdump/2005/1027/plan9/sys/src/cmd/webfs/client.c:139,151 - 
	/n/sourcesdump/2005/1028/plan9/sys/src/cmd/webfs/client.c:139,162
	  {
	  	int i;
	  	Client *c;
	+ 	Url *ubase, *uurl;
	  
	+ 	ubase = nil;
	+ 	if(base){
	+ 		ubase = parseurl(base, nil);
	+ 		if(ubase == nil)
	+ 			return;
	+ 	}
	+ 	uurl = parseurl(url, ubase);
	+ 	if(uurl == nil){
	+ 		freeurl(ubase);
	+ 		return;
	+ 	}
	  	i = newclient(1);
	  	c = client[i];
	  	c->ref++;
	- 	if(base != nil)
	- 		c->baseurl = parseurl(base, nil);
	- 	c->url = parseurl(url, c->baseurl);
	+ 	c->baseurl = ubase;
	+ 	c->url = uurl;
	  	sendp(c->creq, nil);
	  }
	  
	/n/sourcesdump/2005/1027/plan9/sys/src/cmd/webfs/client.c:177,182 - 
	/n/sourcesdump/2005/1028/plan9/sys/src/cmd/webfs/client.c:188,197
	  	c = a;
	  	if(c->plumbed) {
	  		recvp(c->creq);
	+ 		if(c->url == nil){
	+ 			fprint(2, "bad url got plumbed\n");
	+ 			return;
	+ 		}
	  		clientbodyopen(c, nil);
	  		replumb(c);
	  	}


Bell Labs OSI certified Powered by Plan 9

(Return to Plan 9 Home Page)

Copyright © 2021 Plan 9 Foundation. All Rights Reserved.
Comments to webmaster@9p.io.