rdp: Check for non-digits and errno in strtol call

Improve error checking for situations like RDP_FD=42foo, or where the
provided number is out of range.

Suggestion by Yong Bakos.

Signed-off-by: Bryce Harrington <bryce@osg.samsung.com>
Reviewed-by: Eric Engestrom <eric.engestrom@imgtec.com>
Reviewed-by: Yong Bakos <ybakos@humanoriented.com>
diff --git a/libweston/compositor-rdp.c b/libweston/compositor-rdp.c
index 79f0687..53c7124 100644
--- a/libweston/compositor-rdp.c
+++ b/libweston/compositor-rdp.c
@@ -1263,7 +1263,8 @@
 		}
 
 		fd = strtoul(fd_str, &fd_tail, 10);
-		if (fd_tail == fd_str || rdp_peer_init(freerdp_peer_new(fd), b))
+		if (errno != 0 || fd_tail == fd_str || *fd_tail != '\0'
+		    || rdp_peer_init(freerdp_peer_new(fd), b))
 			goto err_output;
 	}