--- a/base/socket.c
+++ b/base/socket.c
@@ -126,7 +126,7 @@
 
 	i = 0;
 	pi = buffer;
-	while (TRUE) {
+	while (read_count < STRING_BUFSIZE - 1) {
 		retval = read(sockfd, pi, 1);
 		if(retval < 0)
 			ui_socket_error(errno);
