undefect. CWE-407 — 63 sites patched across 27 ecosystems

Authors: russell@unturf.com · brackishbert@gmail.com · foxhop.net · TimeHexOn.com

Patches, unit tests, benchmarks, whitepaper, and outreach briefs.
Public domain — no copyright claimed. Use freely.
This commit is contained in:
russell@unturf.com 2026-03-26 17:11:57 -04:00
commit 0a580b313d
70422 changed files with 17213626 additions and 0 deletions

View file

@ -0,0 +1,73 @@
/*
* Copyright (c) 2005, 2024, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation. Oracle designates this
* particular file as subject to the "Classpath" exception as provided
* by Oracle in the LICENSE file that accompanied this code.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
package sun.security.smartcardio;
import java.security.AccessController;
import java.security.PrivilegedAction;
// Platform specific code and constants
class PlatformPCSC {
static final Throwable initException;
PlatformPCSC() {
// empty
}
static {
initException = loadLibrary();
}
@SuppressWarnings({"removal", "restricted"})
private static Throwable loadLibrary() {
try {
AccessController.doPrivileged(new PrivilegedAction<Void>() {
public Void run() {
System.loadLibrary("j2pcsc");
return null;
}
});
return null;
} catch (Throwable e) {
return e;
}
}
// PCSC constants defined differently under Windows and MUSCLE
// Windows version
static final int SCARD_PROTOCOL_T0 = 0x0001;
static final int SCARD_PROTOCOL_T1 = 0x0002;
static final int SCARD_PROTOCOL_RAW = 0x10000;
static final int SCARD_UNKNOWN = 0x0000;
static final int SCARD_ABSENT = 0x0001;
static final int SCARD_PRESENT = 0x0002;
static final int SCARD_SWALLOWED = 0x0003;
static final int SCARD_POWERED = 0x0004;
static final int SCARD_NEGOTIABLE = 0x0005;
static final int SCARD_SPECIFIC = 0x0006;
}

View file

@ -0,0 +1,26 @@
/*
* Copyright (c) 2005, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation. Oracle designates this
* particular file as subject to the "Classpath" exception as provided
* by Oracle in the LICENSE file that accompanied this code.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
/* This file is currently empty */

View file

@ -0,0 +1,58 @@
/*
* Copyright (c) 2005, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation. Oracle designates this
* particular file as subject to the "Classpath" exception as provided
* by Oracle in the LICENSE file that accompanied this code.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
#define CALL_SCardEstablishContext(dwScope, pvReserved1, pvReserved2, phContext) \
(SCardEstablishContext(dwScope, pvReserved1, pvReserved2, phContext))
#define CALL_SCardConnect(hContext, szReader, dwSharedMode, dwPreferredProtocols, phCard, pdwActiveProtocols) \
(SCardConnect(hContext, szReader, dwSharedMode, dwPreferredProtocols, phCard, pdwActiveProtocols))
#define CALL_SCardDisconnect(hCard, dwDisposition) \
(SCardDisconnect(hCard, dwDisposition))
#define CALL_SCardStatus(hCard, mszReaderNames, pcchReaderLen, pdwState, pdwProtocol, pbAtr, pcbAtrLen) \
(SCardStatus(hCard, mszReaderNames, pcchReaderLen, pdwState, pdwProtocol, pbAtr, pcbAtrLen))
#define CALL_SCardGetStatusChange(hContext, dwTimeout, rgReaderStates, cReaders) \
(SCardGetStatusChange(hContext, dwTimeout, rgReaderStates, cReaders))
#define CALL_SCardTransmit(hCard, pioSendPci, pbSendBuffer, cbSendLength, \
pioRecvPci, pbRecvBuffer, pcbRecvLength) \
(SCardTransmit(hCard, pioSendPci, pbSendBuffer, cbSendLength, \
pioRecvPci, pbRecvBuffer, pcbRecvLength))
#define CALL_SCardListReaders(hContext, mszGroups, mszReaders, pcchReaders) \
(SCardListReaders(hContext, mszGroups, mszReaders, pcchReaders))
#define CALL_SCardBeginTransaction(hCard) \
(SCardBeginTransaction(hCard))
#define CALL_SCardEndTransaction(hCard, dwDisposition) \
(SCardEndTransaction(hCard, dwDisposition))
#define CALL_SCardControl(hCard, dwControlCode, lpInBuffer, nInBufferSize, \
lpOutBuffer, nOutBufferSize, lpBytesReturns) \
(SCardControl(hCard, dwControlCode, lpInBuffer, nInBufferSize, \
lpOutBuffer, nOutBufferSize, lpBytesReturns))