- (djm) Bug #593: Sanity check OpenSC card reader number; patch from
   aj@dungeon.inka.de
diff --git a/scard-opensc.c b/scard-opensc.c
index e8e12dd..4ab87ea 100644
--- a/scard-opensc.c
+++ b/scard-opensc.c
@@ -89,6 +89,12 @@
 	r = sc_establish_context(&ctx, "openssh");
 	if (r)
 		goto err;
+	if (sc_reader_id >= ctx->reader_count) {
+		r = SC_ERROR_NO_READERS_FOUND;
+		error("Illegal reader number %d (max %d)", sc_reader_id, 
+		    ctx->reader_count -1);
+		goto err;
+	}
 	r = sc_connect_card(ctx->reader[sc_reader_id], 0, &card);
 	if (r)
 		goto err;