BB#116: fix invalid free when connecting to ipv6 literal address
When removing the '[' and ']' characers from the ipv6 literal address, make sure
the pointer that is later free'd stays a malloced pointer by memmoving the
string one place left.
Signed-off-by: Michael Adam <obnox@samba.org>
(cherry picked from commit bb2e894e0d)
			
			
This commit is contained in:
		
							parent
							
								
									4ef81ff95d
								
							
						
					
					
						commit
						e0ad093b0f
					
				@ -221,7 +221,10 @@ static int extract_http_url (const char *url, struct request_s *request)
 | 
			
		||||
        /* Remove any surrounding '[' and ']' from IPv6 literals */
 | 
			
		||||
        p = strrchr (request->host, ']');
 | 
			
		||||
        if (p && (*(request->host) == '[')) {
 | 
			
		||||
                request->host++;
 | 
			
		||||
                memmove(request->host, request->host + 1,
 | 
			
		||||
                        strlen(request->host) - 2);
 | 
			
		||||
                *p = '\0';
 | 
			
		||||
                p--;
 | 
			
		||||
                *p = '\0';
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
		Loading…
	
		Reference in New Issue
	
	Block a user