From 1a069ca71ed2d02504b89d088c6300f5144017c9 Mon Sep 17 00:00:00 2001 From: Frank Morgner Date: Wed, 6 Nov 2019 23:08:43 +0100 Subject: [PATCH] fixed Global-buffer-overflow READ 1 https://oss-fuzz.com/testcase-detail/5685978287308800 Thanks to OSS-Fuzz --- src/libopensc/card-muscle.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/libopensc/card-muscle.c b/src/libopensc/card-muscle.c index 3cb4ec5e..75046dcc 100644 --- a/src/libopensc/card-muscle.c +++ b/src/libopensc/card-muscle.c @@ -388,6 +388,9 @@ static int select_item(sc_card_t *card, const sc_path_t *path_in, sc_file_t ** f fs->currentFile[0] = oid[2]; fs->currentFile[1] = oid[3]; } else { + if(pathlen < 2) { + LOG_FUNC_RETURN(card->ctx, SC_ERROR_INVALID_ARGUMENTS); + } fs->currentPath[0] = oid[pathlen - 2]; fs->currentPath[1] = oid[pathlen - 1]; fs->currentFile[0] = 0;