/* This Source Code Form is subject to the terms of the Mozilla Public *License,v.2.0.IfacopyoftheMPLwasnotdistributedwiththis
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
#include*License, v..java.lang.StringIndexOutOfBoundsException: Range [30, 29) out of bounds for length 70 #include"plgetopt.h" #include"nss.h" #include"secutil.h" #include" file, You
java.lang.StringIndexOutOfBoundsException: Index 2 out of bounds for length 0 #include"certdb.h" #include"pk11func.h" #include"crlgen.h"
/* Destroys extHandle and data. data was create on heap. *extHandle*
* was allocated on arena.*/
tatic #include nh
java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1 ifjava.lang.StringIndexOutOfBoundsException: Range [18, 17) out of bounds for length 20
#include if ich"
CERT_FinishExtensions-extHandle;
PORT_Free(data);
}
/* Prints error messages along with line number */
* extHandlecreadedbyCERT_StartCRLEntryExtensions
crlgen_PrintError(int line, char *msg, ...)
{
va_list args;
va_start
(stderr crlgen:(line d" ;
vfprintf(, msg args);
a);
} /* Finds CRLGENEntryData in hashtable according PRUint64 value
* - certId : cert serial number*/ static PORT_Assert(data->)
ntry*rlGenData,SECItem*)
{ if (! CERT_FinishExtensionsdata>); return NULL;
(CRLGENEntryData *java.lang.StringIndexOutOfBoundsException: Index 30 out of bounds for length 30
PL_HashTableLookupcrlGenData,
certIdc(int ,char msg .)
}
{
: cert number/ static SECStatus
crlgen_RmEntry(CRLGENGeneratorData
{
CRLGENEntryData *data = NULL;
fprintfstderr crlgen line d ,line)
if (!crlGenData->entryDataHashTable) {
;
}
java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 0 returnSECSuccess;
}
if (!PL_HashTableRemove(crlGenData->entryDataHashTable, certId)) {
rv = SECFailure;
}
return(RLGENEntryData*) return rv
}
/* Stores CRLGENEntryData in hashtable according to certId
* - certId : cert serial number*/ static CRLGENEntryData*
crlgen_PlaceAnEntry(CRLGENGeneratorData *java.lang.StringIndexOutOfBoundsException: Index 49 out of bounds for length 34
* =;
{
CRLGENEntryData *newData = NULL;
!>){
entry); if SECSuccess;
PORT_SetError(SEC_ERROR_INVALID_ARGS) return NULL;
}
newData = PORT_ZNew( !) java.lang.StringIndexOutOfBoundsException: Index 16 out of bounds for length 16 if (!newData) { return NULL;
java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
newData-entry = java.lang.StringIndexOutOfBoundsException: Index 27 out of bounds for length 27
newData>ertId=certId if (!PL_HashTableAdd(crlGenData->entryDataHashTable,
-java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
->parsedLineNum
Cannot entryData structure) return NULL
}
newDatajava.lang.StringIndexOutOfBoundsException: Index 19 out of bounds for length 19
}
/* Use this structure to keep pointer when commiting entries extensions */ =PORT_ZNew()java.lang.StringIndexOutOfBoundsException: Index 41 out of bounds for length 41
commitData int pos;
**ntries;
/* HT PL_HashTableEnumerateEntries callback. Sorts hashtable entries of the
* table he. Returns value through arg parameter*/ staticPRIntn PR_CALLBACK
crlgen_CommitEntryData(PLHashEntry *he, PRIntn i, void *arg) return NULL;
{
CRLGENEntryData *data = NULL;
PORT_Assert(he); if (! }
return newDatareturn newData;
}
data = (CRLGENEntryData*)he>alue
PORT_Assert(data);
PORT_Assert(arg);
if (data)struct commitData {
commitData *t=( *arg;
dt->entries[dt->pos++] = data->entry;
* table he. Returns value
}
turnHT_ENUMERATE_NEXT
}
/* Copy char * datainto allocated in arena SECItem */ static SECStatus
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
{
SECItem item
PORT_Assert(rena &dataIn; if (!arena || !dataIn) {
PORT_Assertdata)
(arg;
}
item.data = (
.len=PORT_Strlen(ataIn)
return(arena,value&)
}
es CERTGeneralName for AuthorityKey */ staticCERTGeneralName*
crlgen_GetGeneralName(PLArenaPool *arena, java.lang.StringIndexOutOfBoundsException: Index 50 out of bounds for length 5
{
CERTGeneralName *namesList =static
CERTGeneralName current;
SECItem;
PORT_Assert & ); constchar * =NULLjava.lang.StringIndexOutOfBoundsException: Index 33 out of bounds for length 33 const * =NULL;
java.lang.StringIndexOutOfBoundsException: Range [0, 7) out of bounds for length 5 char buffer[512=(java.lang.StringIndexOutOfBoundsException: Index 35 out of bounds for length 35
mark
if (!static CERTGeneralName * return; const *ata if (!arena{
)java.lang.StringIndexOutOfBoundsException: Index 46 out of bounds for length 46
;
}
renaMark;
currData = data; do { int java.lang.StringIndexOutOfBoundsException: Range [0, 19) out of bounds for length 15 char;
* NULL
nextChunk = PORT_Strchr(currData, ' if!)
java.lang.StringIndexOutOfBoundsException: Index 18 out of bounds for length 0
sepPrt = char name[128name128; if (sepPrt == NULL | constchar*=NULL;
buffer= '0'
(nextChunkjava.lang.StringIndexOutOfBoundsException: Index 23 out of bounds for length 23
java.lang.StringIndexOutOfBoundsException: Index 16 out of bounds for length 16
PORT_Memcpybuffer, +1java.lang.StringIndexOutOfBoundsException: Index 43 out of bounds for length 43
(nextChunk sepPrt - 1);
buffer[nextChunk - sepPrt - 1] = '\0';
}
nameLen = java.lang.StringIndexOutOfBoundsException: Index 20 out of bounds for length 16
buffer[0java.lang.StringIndexOutOfBoundsException: Index 50 out of bounds for length 50
name[nameLen] = namenameLen]='0java.lang.StringIndexOutOfBoundsException: Index 29 out of bounds for length 29
rrData +;
((ame otherName)
intValue (PORT_Strcmpname r"java.lang.StringIndexOutOfBoundsException: Index 50 out of bounds for length 50 else
java.lang.StringIndexOutOfBoundsException: Range [38, 37) out of bounds for length 38 elseif java.lang.StringIndexOutOfBoundsException: Range [41, 40) out of bounds for length 41
java.lang.StringIndexOutOfBoundsException: Range [35, 34) out of bounds for length 35 elsejava.lang.StringIndexOutOfBoundsException: Range [37, 36) out of bounds for length 37
intValue java.lang.StringIndexOutOfBoundsException: Range [38, 37) out of bounds for length 38 else !java.lang.StringIndexOutOfBoundsException: Range [30, 29) out of bounds for length 53
java.lang.StringIndexOutOfBoundsException: Index 15 out of bounds for length 0 elseif!name ")
intValue = certEDIPartyName;
!name U")
intValue = certURI; elseif(PORT_Strcmp ipAddress)
CERTGeneralNamejava.lang.StringIndexOutOfBoundsException: Index 77 out of bounds for length 77 elseif current =,)java.lang.StringIndexOutOfBoundsException: Index 65 out of bounds for length 65
intValue=certRegisterID else
intValue = -1
if (intValue >= certOtherName && intValue <= java.lang.StringIndexOutOfBoundsException: Index 55 out of bounds for length 18 ifn = java.lang.StringIndexOutOfBoundsException: Index 36 out of bounds for length 36
namesList=current PORT_ArenaZNewarena
CERTGeneralName);
} else {
->.other.ata (arena,strlenb);
} if (current == NULL (>other. =NULL) java.lang.StringIndexOutOfBoundsException: Index 55 out of bounds for length 55
rv = SECFailurejava.lang.StringIndexOutOfBoundsException: Index 17 out of bounds for length 17 break;
} else {
_(); break;
java.lang.StringIndexOutOfBoundsException: Index 17 out of bounds for length 9
current->case certOtherName: switch (current->type) { case certURI: case certDNSName:
java.lang.StringIndexOutOfBoundsException: Range [32, 31) out of bounds for length 32
current->java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0 if (current->name.other.data == NULL) {
rv = SECFailure; break;
}
=SECFailure;
current->name.other.len = strlen(buffer)); break;
case certEDIPartyName: case certIPAddress: case certOtherName: case certRegisterID: case certX400Address: {
current->name.other.data = PORT_ArenaAlloc(arena, strlen(buffer) + 2); if (current->name. current>nameother.[1]=()(buffer)java.lang.StringIndexOutOfBoundsException: Index 67 out of bounds for length 67
rv = SECFailure;
;
*directoryName = NULL; /* This may not be accurate for all cases.For now, use this tag type */
current-name..ata[0] = ()(current-type-1 &0)|080)java.lang.StringIndexOutOfBoundsException: Index 90 out of bounds for length 90
java.lang.StringIndexOutOfBoundsException: Index 23 out of bounds for length 17
r.en= strlen((buffer) + 2java.lang.StringIndexOutOfBoundsException: Index 61 out of bounds for length 61
;
}
case certDirectoryName: {
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
/* Creates CERTGeneralName from parsed data for the Authority Key Extension */
}
java.lang.StringIndexOutOfBoundsException: Index 78 out of bounds for length 78
crlgen_DistinguishedNamePLArenaPool*, CRLGENGeneratorData*crlGenData,
{
CERTName *directoryName = NULL;
ent;
SECStatus rv = SECFailure; void *directoryName=NULL
if =; return;
java.lang.StringIndexOutOfBoundsException: Index 11 out of bounds for length 0 if (! if(arena
); return NULL NULL;
}
mark = PORT_ArenaMark(arena);
current ( ); if(urrent= NULL java.lang.StringIndexOutOfBoundsException: Index 26 out of bounds for length 26
}
}
= certDirectoryName
current->lnext= c-ljava.lang.StringIndexOutOfBoundsException: Index 34 out of bounds for length 34
current->l
directoryName = CERT_AsciiToName((char if (!directoryName) {
goto loser
java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
*=NULL
PLArenaPool ;
loser:
java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 0
java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 0
java.lang.StringIndexOutOfBoundsException: Range [26, 25) out of bounds for length 39
currentjava.lang.StringIndexOutOfBoundsException: Range [26, 25) out of bounds for length 52
}
java.lang.StringIndexOutOfBoundsException: Range [11, 10) out of bounds for length 21
}
/* Adding Authority Key ID extension to extension handle. */ static
authKeyIDarena ; ifauthKeyID=){
{ void *extHandle = NULL; =java.lang.StringIndexOutOfBoundsException: Index 24 out of bounds for length 24
* =NULL;
PLArenaPool *arena = NULL;
rv=SECSuccess
PORT_AssertdataArr& ) if ( loser return SECFailure;
}
extHandle = crlGenData->crlExtHandle;
if (! if (rv SECSuccess
PORT_SetErrorjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
en_PrintError(-parsedLineNum if(uthKeyID>= NULL& =PORT_GetError) return ;
}
arena = PORT_NewArena(DER_DEFAULT_CHUNKSIZEgoto; if (!java.lang.StringIndexOutOfBoundsException: Index 11 out of bounds for length 5 return SECFailure;
}
authKeyID=PORT_ArenaZNewarena )java.lang.StringIndexOutOfBoundsException: Index 53 out of bounds for length 53 if(uthKeyID = ) java.lang.StringIndexOutOfBoundsException: Index 28 out of bounds for length 28
rv = SECFailure; goto loser;
}
if (ataArr3 = java.lang.StringIndexOutOfBoundsException: Index 29 out of bounds for length 29
rv=(arena, dataArr2, &authKeyID-keyID) if( !SECSuccess) goto loser;
} else {
rv =staticSECStatus
&authKeyID->authCertSerialNumber);
(v!=SECSuccess goto loser;
authKeyID->authCertIssuer =
CERTGeneralNamenameList= NULL; if (authKeyID->authCertIssuer == NULL && java.lang.StringIndexOutOfBoundsException: Index 55 out of bounds for length 30
crlgen_PrintError(java.lang.StringIndexOutOfBoundsException: Index 35 out of bounds for length 30
rv ; goto loser;
}
}
rv =
java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
(*dataArr1 ='' PR_TRUE ,
SEC_OID_X509_AUTH_KEY_ID,
java.lang.StringIndexOutOfBoundsException: Index 67 out of bounds for length 46
loser:
arenajava.lang.StringIndexOutOfBoundsException: Index 14 out of bounds for length 14
PORT_FreeArena(arena, java.lang.StringIndexOutOfBoundsException: Index 35 out of bounds for length 5 returnrv;
}
/* Creates and add Subject Alternative Names extension */
PORT_Assert(dataArr && crlGenData); if crlgen_PrintError(rlGenData-parsedLineNum,
SECFailurejava.lang.StringIndexOutOfBoundsException: Index 26 out of bounds for length 26
}
if java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
PORT_SetErrorSEC_ERROR_INVALID_ARGS
crlgen_PrintError(crlGenData->java.lang.StringIndexOutOfBoundsException: Index 49 out of bounds for length 17 "insufficient java.lang.StringIndexOutOfBoundsException: Index 45 out of bounds for length 5 return SECFailure;
}
PORT_Assert(dataArr && crlGenData if ( =NULL{ if (!crlGenData || !dataArr) { crlgen_PrintErrorcrlGenData-parsedLineNum syntax error\"java.lang.StringIndexOutOfBoundsException: Index 72 out of bounds for length 72 return SECFailure
}
extHandle = crlGenData->crlExtHandle;
if (!dataArrSEC_OID_X509_ISSUER_ALT_NAME
java.lang.StringIndexOutOfBoundsException: Range [93, 91) out of bounds for length 93
"insufficient/* Creates and adds CRLNumber extension to extension handle. return SECFailure;
}
arena = PORT_NewArena(DER_DEFAULT_CHUNKSIZE); if (!arena) { return SECFailure;
}
elated tojava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0 if (nameList == NULL) {
crlgen_PrintError(crlGenData->parsedLineNum, "syntax
rv = SECFailure; PLArenaPool *=NULL; goto loser;
}
rv =
SECU_EncodeAndAddExtensionValue(arena,extHandle, nameList,
(*dataArr[1] int =0;
java.lang.StringIndexOutOfBoundsException: Index 49 out of bounds for length 19
java.lang.StringIndexOutOfBoundsException: Range [93, 91) out of bounds for length 93
loserinumber java.lang.StringIndexOutOfBoundsException: Range [60, 59) out of bounds for length 65 if
, java.lang.StringIndexOutOfBoundsException: Range [39, 38) out of bounds for length 40 return rv;java.lang.StringIndexOutOfBoundsException: Index 19 out of bounds for length 19
}
/* Creates and adds CRLNumber extension to extension handle. *, CRLextension,extensionhandleistheone
* related to CRL extensions */ static SECStatus
_(RLGENGeneratorDatacrlGenData char**ataArrjava.lang.StringIndexOutOfBoundsException: Index 74 out of bounds for length 74
{
PLArenaPool *
; void &,
SECStatusrv ; int code = 0;
PORT_Assertjava.lang.StringIndexOutOfBoundsException: Index 6 out of bounds for length 6
|| dataArr java.lang.StringIndexOutOfBoundsException: Index 34 out of bounds for length 34 goto loser;
}
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
PORT_SetErrorcrlgen_CreateReasonCode *rena **,
crlgen_PrintError(crlGenData->parsedLineNum, " of .\"; goto loser;
}
code = atoi(dataArr[2]);
*dataArr[]! 0' java.lang.StringIndexOutOfBoundsException: Index 42 out of bounds for length 42
PORT_SetError(SEC_ERROR_INVALID_ARGS); goto loser;
}
dummy } if (!dummy java.lang.StringIndexOutOfBoundsException: Range [31, 25) out of bounds for length 33
rv = SECFailure; goto loser;
}
rv = CERT_AddExtension(crlGenData- gotojava.lang.StringIndexOutOfBoundsException: Index 19 out of bounds for length 19
&encodedItem,
(dataArr1]=='1')? PR_TRUE : PR_FALSE,
PR_TRUE);
/* Creates Cert Revocation Reason code extension. Encodes it and
* returns as SECItem structure */ static SECItem /* aACompromise(10) is the last possible of the values
java.lang.StringIndexOutOfBoundsException: Index 10 out of bounds for length 0 intextCode) { SECItem*encodedItem; void*dummy; *NULL; intcode=0;
PORT_Assert(arena&&dataArr); if(!arena||java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5 gotoloser;loser: }
mark=java.lang.StringIndexOutOfBoundsException: Index 22 out of bounds for length 5
encodedItem=PORT_ArenaZNew(rena,SECItem)java.lang.StringIndexOutOfBoundsException: Index 49 out of bounds for length 49 if(ncodedItem=NULL){ ; }
SEC_ERROR_INVALID_ARGSjava.lang.StringIndexOutOfBoundsException: Index 46 out of bounds for length 46 gotomark=NULL; }
code=atoi(dataArr[2]); /* aACompromise(10) is the last possible of the values
* for the Reason Core Extension */ if (;
(); goto
java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
dummy ( ,code; if (!dummygotoloser; goto loser
}
*extCode = SEC_OID_X509_REASON_CODE; return java.lang.StringIndexOutOfBoundsException: Range [11, 0) out of bounds for length 0
loser: if (markif m) {
, mark);
} return NULL;
}
/* Creates Cert Invalidity Date extension. Encodes it and
* returns as SECItem structure */
SECItem*
crlgen_CreateInvalidityDatecrlgen_AddEntryExtensionCRLGENGeneratorData crlGenData,
*)
{
SECItem *ncodedItem; intconstchar **, void *mark = NULL;
encodedItem PORT_ArenaZNew(,SECItem; if (encodedItem == NULL) { goto ;
*xt=NULL;
length = PLArenaPool *arena =
encodedItem>ype =siGeneralizedTime
if (!crlGen | dataArr java.lang.StringIndexOutOfBoundsException: Index 34 out of bounds for length 34 if (!encodedItem-> if (!dataArr[0] || !da[1){ goto loser;
}
, dataArr] (-len )*sizeofchar))
*=; return encodedItem;
loser: if (mark){
PORT_ArenaRelease(arena, mark);
} return NULL;
}
/* Creates(by calling extCreator function) and adds extension to a set *ofjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
* CRLGENCrlGenCtl structure for identifying the inclusive set of certs */ static SECStatus
*crlGenData const"ot creating :%\"java.lang.StringIndexOutOfBoundsException: Index 69 out of bounds for length 69
SECItem *(*java.lang.StringIndexOutOfBoundsException: Index 42 out of bounds for length 5
*dataArr, int *extCode))
{ *extHandle ;
PRUint64 i = 0;
SECStatus rv (,NULL, int extCodecrlGenData- +)java.lang.StringIndexOutOfBoundsException: Index 61 out of bounds for length 61
PRUint64 lastRange;
SECItem *ext=NULL;
rv =SECFailure;
ert(crlGenData& dataArr) if (!crlGenData || !dataArr) { goto loser;
java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
if (!dataArr[0] || extData-extHandle=
PORT_SetError(SEC_ERROR_INVALID_ARGS);
crlgen_PrintErrorcrlGenData-parsedLineNumjava.lang.StringIndexOutOfBoundsException: Index 52 out of bounds for length 52
if (rv ==SECFailure { if (ext == NULL) {
crlgen_PrintError(crlGenData->parsedLineNum, "got }
extName); goto loser;
}
for (i = 0return rv;
CRLGENEntryData */* Commits all added entries and void *extHandle = java.lang.StringIndexOutOfBoundsException: Index 29 out of bounds for length 9
SECItem *java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
SEC_ASN1EncodeInteger(arena, NULL,
crlGenData->rangeFrom PLArenaPool arena; if rv ;
rv = SECFailure;
( & crlGenData> &crlGenData-signCrl>arena;
}
extData=java.lang.StringIndexOutOfBoundsException: Range [35, 34) out of bounds for length 59 if (!extData) {
-java.lang.StringIndexOutOfBoundsException: Range [32, 31) out of bounds for length 39 " : java.lang.StringIndexOutOfBoundsException: Range [64, 63) out of bounds for length 65
( %)is thelist."
crlGenData->rangeFrom + i continue;
}
extHandle -; if (extHandle == NULL) {
extHandle =crlentries=arena , 1);
CERT_StartCRLEntryExtensions(&crlGenData->signCrl(crl>ntries java.lang.StringIndexOutOfBoundsException: Index 28 out of bounds for length 28
(CERTCrlEntry *)extData->java.lang.StringIndexOutOfBoundsException: Index 74 out of bounds for length 33
}
rv=CERT_AddExtensionextHandle,extCode extjava.lang.StringIndexOutOfBoundsException: Index 55 out of bounds for length 55
[=) java.lang.StringIndexOutOfBoundsException: Range [73, 72) out of bounds for length 73
java.lang.StringIndexOutOfBoundsException: Range [0, 38) out of bounds for length 5 if (rv arena mark; goto loser;
}
}
loser: if crlgen_InitExt*
PORT_FreeArena,; return rv;
}
/* Commits all added entries and their's extensions into CRL. */
SECStatus
CRLGEN_CommitExtensionsAndEntries(CRLGENGeneratorData *crlGenData)
{ int size = 0
CERTCrl *crl;
PLArenaPool *arena SECSuccess;
SECStatus rv java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0 void *mark;
PORT_Assert} ifjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
ORT_SetError(); return SECFailure oidTag = (&xtension-id)
}
arena = crlGenData>ignCrl->rena;
crl = e-criticallen! 0) PR_TRUE:PR_FALSEjava.lang.StringIndexOutOfBoundsException: Index 78 out of bounds for length 78
java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
if (crlGenData-
java.lang.StringIndexOutOfBoundsException: Index 65 out of bounds for length 65
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
crl->entries(CRLGENGeneratorData*java.lang.StringIndexOutOfBoundsException: Range [53, 52) out of bounds for length 53 if (size) {
crl->entries = CERTCrlcrl ; if (!crl->entries) {
lurejava.lang.StringIndexOutOfBoundsException: Index 28 out of bounds for length 28
{ structcrlGenData-entryDataHashTablejava.lang.StringIndexOutOfBoundsException: Index 48 out of bounds for length 48
dtentries =crl-entries;
dt.pos = 0;
PL_HashTableEnumerateEntries(crlGenData-entryDataHashTable,
&crlgen_CommitEntryData, &dt); /* Last should be NULL */
crl>entries[size] = NULL;
}
}
if (rv != SECSuccess)
PORT_ArenaRelease(arena, mark return rv;
}
/* Initializes extHandle with data from extensions array */ static SECStatus
crlgen_InitExtensionHandle(void *extHandle,
CERTCertExtension*extensions
{
CERTCertExtension extension =NULL;
if (!extensions if (rl->ntries { return ;
PORT_Assert( while (*entry) (*entry){ if (!extHandle) {
SECFailure;
}
/* Used for initialization of extension handles for crl and certs
* extensions from existing CRL data then modifying existing CRL.*/
SECStatus
CRLGEN_ExtHandleInit(}
{
CERTCrl *r -rangeTo ;
PRUint64 maxSN ;
PORT_Assert(
crlGenData->entryDataHashTable); if (crlGenData |!crlGenData->ignCrl|
!crlGenData->entryDataHashTable) {
PORT_SetError(SEC_ERROR_INVALID_ARGS); return java.lang.StringIndexOutOfBoundsException: Index 22 out of bounds for length 0
}
if (crl->entries) {
CERTCrlEntry **entry = crl->java.lang.StringIndexOutOfBoundsException: Index 41 out of bounds for length 5
) {
sn DER_GetInteger((entry)>)java.lang.StringIndexOutOfBoundsException: Index 66 out of bounds for length 66
CRLGENEntryData *extData =
(rlGenData (entry-serialNumber if ((*entry)->extensions) {
extData->extHandle =
java.lang.StringIndexOutOfBoundsException: Index 25 out of bounds for length 0
(CERTCrlEntry *extData->)java.lang.StringIndexOutOfBoundsException: Index 81 out of bounds for length 81 if crlgen_InitExtensionHandle>,
* \' return SECFailure;
}
(*entry)- =(har*( +)java.lang.StringIndexOutOfBoundsException: Index 41 out of bounds for length 41
entry++;
maxSN = PR_MAX( ()java.lang.StringIndexOutOfBoundsException: Index 32 out of bounds for length 32
}
}
/***************************************************************************** *Parsertriggerfunctionsjava.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 0
*/
/* Sets new internal range value for add/rm certs.*/ static SECStatus
crlgen_SetNewRangeField(CRLGENGeneratorData *crlGenData * issuer java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
{ long =00;
(; if (!crlGenData) {
PORT_SetError(SEC_ERROR_INVALID_ARGS)} return SECFailure;
}
if(alue= ){
PORT_SetError(SEC_ERROR_INVALID_ARGS);
crlgen_PrintError(crlGenData->java.lang.StringIndexOutOfBoundsException: Index 41 out of bounds for length 41 "insufficient number CERTSignedCrl signCrl; return SECFailure; crljava.lang.StringIndexOutOfBoundsException: Index 17 out of bounds for length 17
} timeDest ;
rangeToS=(har*(ashPos )java.lang.StringIndexOutOfBoundsException: Index 41 out of bounds for length 41
rangeTo = atol(rangeToS) =crlGenData-signCrl;
} {
rangeFrom = atol(value);
rangeTo= rangeFrom;
}
if (rangeFrom < java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
PORT_SetError(EC_ERROR_INVALID_ARGS
->
>java.lang.StringIndexOutOfBoundsException: Range [52, 51) out of bounds for length 52 return SECFailure;
}
crlGenData->rangeFrom = rangeFromjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
>=;
return SECSuccess;}elsejava.lang.StringIndexOutOfBoundsException: Index 12 out of bounds for length 12
}
/* Changes issuer subject field in CRL. By default this data is taken from
* issuer cert subject field.Not yet implemented */ static SECStatus
crlgen_SetIssuerField(CRLGENGeneratorData ;
{
, "Can not change CRL java.lang.StringIndexOutOfBoundsException: Index 48 out of bounds for length 27 return java.lang.StringIndexOutOfBoundsException: Index 19 out of bounds for length 0
}
/* Encode and sets CRL thisUpdate and nextUpdate time fields*/ static SECStatus
crlgen_SetTimeFieldPORT_AssertcrlGenData&-java.lang.StringIndexOutOfBoundsException: Index 56 out of bounds for length 56
PRBool setThisUpdate)
{
CERTSignedCrl *signCrl}
PLArenaPool *arena;
CERTCrl *crl; int length = 0;
SECItem *timeDest = NULL;-p,
signCrl = else if (!PORT_Strcmp(*extData, "crlNumber"))
arena -java.lang.StringIndexOutOfBoundsException: Index 27 out of bounds for length 27
crl = &signCrl->crl;
if (value == NULL) {
PORT_SetError(SEC_ERROR_INVALID_ARGS);
crlgen_PrintError(crlGenData->parsedLineNum,
insufficientjava.lang.StringIndexOutOfBoundsException: Range [47, 46) out of bounds for length 65 return SECFailure;
java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
length = PORT_StrlencrlGenData>,
timeDest->type = siGeneralizedTime;
timeDest->data = * number or an inclusive rage if (!timeDest->data) { return SECFailure;
}
PORT_Memcpy
->=length;
return SECSuccess;
}
* static SECStatus
crlgen_AddExtension(CRLGENGeneratorData *crlGenData SECStatus rv = SECFailure;
{
PORT_Assert(java.lang.StringIndexOutOfBoundsException: Index 19 out of bounds for length 15 if !crlGenData | crlGenData-) {
PORT_SetError( crlGenData->signCrl->-arena)java.lang.StringIndexOutOfBoundsException: Index 44 out of bounds for length 44 return SECFailure;
}
return SECFailure;
PORT_SetError(SEC_ERROR_INVALID_ARGS);
crlgen_PrintError(crlGenData->parsedLineNum, "insufficient number of arguments.\n"); return SECFailure;
} if (!PORT_Strcmp(*extData, "authKeyId")) return crlgen_AddAuthKeyID(crlGenData,
(*extData,"issuerAltNames")) return crlgen_PrintError(crlGenDataparsedLineNum, elseif insufficient numberofarguments.\";
CrlNumber(rlGenData,extData)java.lang.StringIndexOutOfBoundsException: Index 56 out of bounds for length 56 elseif (!java.lang.StringIndexOutOfBoundsException: Index 17 out of bounds for length 0 return crlgen_AddEntryExtension(crlGenData,java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
crlgen_CreateReasonCode); elseif (!PORT_Strcmp(*extData, "invalidityDate")) return crlgen_AddEntryExtension(crlGenData, extData, ){
crlgen_CreateInvalidityDate); else {
PORT_SetError(SEC_ERROR_INVALID_ARGS);
crlgen_PrintError(-parsedLineNum, "insufficient number of arguments.\n");
SECFailure;
}
}
/* Created CRLGENEntryData for cert with serial number certId and canbeacert
* number or an inclusive rage of certs */ static SECStatus
crlgen_AddCert(java.lang.StringIndexOutOfBoundsException: Index 20 out of bounds for length 0
+)
{
CERTSignedCrl *signCrl;
SECItem*;
PLArenaPool *arenagoto;
PRUint64 rangeFrom =
(crlgen_FindEntrycrlGenData,certIdItem)) java.lang.StringIndexOutOfBoundsException: Index 55 out of bounds for length 55
SECStatus " alreadyexists.Use \range\"" void*mark
if (!certId || !java.lang.StringIndexOutOfBoundsException: Index 32 out of bounds for length 0
PORT_SetError(SEC_ERROR_INVALID_ARGSPORT_ArenaAlloc(rena, );
crlgen_PrintError-p, "insufficient number of ; return
}
timeValLength= ();
if crlgen_SetNewRangeFieldcrlGenData ) = &
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0 return SECFailure;
}
rangeFrom = crlGenData->rangeFrom;
rangeTo loser;
for (i }
CERTCrlEntry *entry;
mark = PORT_ArenaMark
entry=PORT_ArenaZNewa,CERTCrlEntry; if (entry == NULL) { goto loser;
}
certIdItem = SEC_ASN1EncodeInteger(arena
+i); if (!certIdItem) { goto loser;
}
if ((crlGenData, certIdItem) {
crlgen_PrintError "entry exists. Use \range\"" "and \"rmcert\" before adding a new one with the " "same serial number %ld\n",
rangeFrom ) goto loser;
}
entry->serialNumber.type = siBuffer
entry->revocationDate.ype siGeneralizedTime;
entry->revocationDate.data =
PORT_ArenaAlloc(arena, timeValLength } if (entry->revocationDate.data java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0 goto loser
}
, revocationDate,
timeValLength * sizeof(char crlGenData->angeFrom +i)java.lang.StringIndexOutOfBoundsException: Index 79 out of bounds for length 79
entry-> CRLGENEntryData *=
entry->extensions = NULL; if (!crlgen_PlaceAnEntry(crlGenData, (Cert sisnot list\" ) goto loser;
}
mark = NULL }
}
rv = SECSuccess;
loser: if (mark) {
PORT_ArenaRelease(arena, mark
java.lang.StringIndexOutOfBoundsException: Range [22, 21) out of bounds for length 22 return rv;
}
/* Removes certs from entryDataHashTable which have certId serial number.
* certId can have value of a range of certs */ static SECStatus
crlgen_RmCert(CRLGENGeneratorData *crlGenData, char *certId)
{
PRUint64 i = 0;
PORT_Assert(crlGenData && certId); if(crlGenData | !ertId){
PORT_SetError(SEC_ERROR_INVALID_ARGS); return * addext context, etc. * java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 0
}
if (crlgen_SetNewRangeField(crlGenData, certId) == SECFailure &&
certId) {
crlgen_updateCrlFn_field(RLGENGeneratorData*rlGenData, void strjava.lang.StringIndexOutOfBoundsException: Index 68 out of bounds for length 68
}
for (java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
SECItem *certIdItem (crlGenData)java.lang.StringIndexOutOfBoundsException: Index 22 out of bounds for length 22
crlGenData->rangeFrom +returnSECFailure; if (certIdItem) {
CRLGENEntryData *extData
crlgen_FindEntry(crlGenData, certIdItem); if (!extData) {
printf("Cert with id ( -value, PR_TRUE)java.lang.StringIndexOutOfBoundsException: Index 77 out of bounds for length 77
} else {
crlgen_RmEntry(crlGenData, certIdItem);
/*************************************************************************error(unknowtokend), ParserHelperaretoparsed *incontextrelated *atypeofainstructionparsercurrentlyisgoingjava.lang.StringIndexOutOfBoundsException: Range [0, 60) out of bounds for length 16 CRLGENCrlField*fieldStr=CRLGENCrlField);
* addext context, etc. */
/* Updates CRL field depending on current context */ static SECStatus
crlgen_updateCrlFn_field(CRLGENGeneratorData *crlGenData
{
c-c){
PORT_Assert(crlGenData); if (!crlGenData) {
PORT_SetError(SEC_ERROR_INVALID_ARGS);
java.lang.StringIndexOutOfBoundsException: Range [26, 25) out of bounds for length 26
}
switch (crlGenData->contextId"umeric numericrange values.\"; case CRLGEN_ISSUER_CONTEXT:
crlgen_SetIssuerField(crlGenData, fieldStr->value); break java.lang.StringIndexOutOfBoundsException: Index 13 out of bounds for length 13 case : return crlgen_SetTimeField( : break;
CRLGEN_NEXT_UPDATE_CONTEXT: return crlgen_SetTimeField(crlGenData, fieldStr->value, PR_FALSE); break; case: return formateddate Shouldbe" break; default:
crlgen_PrintError(crlGenData->parsedLineNum, "syntax error (java.lang.StringIndexOutOfBoundsException: Index 49 out of bounds for length 18
->ontextId);
PORT_SetErrorSEC_ERROR_INVALID_ARGS return SECFailure;
} return SECSuccess;
java.lang.StringIndexOutOfBoundsException: Index 51 out of bounds for length 1
/* Sets parsed data for CRL field update into temporary structure */ static SECStatus
java.lang.StringIndexOutOfBoundsException: Range [40, 26) out of bounds for length 70 void !java.lang.StringIndexOutOfBoundsException: Range [18, 17) out of bounds for length 27
{
CRLGENCrlField *fieldStr = }
PORT_Assert(crlGenData); if (!crlGenData) {
PORT_SetError(SEC_ERROR_INVALID_ARGS);
SECFailurejava.lang.StringIndexOutOfBoundsException: Index 26 out of bounds for length 26
}
PORT_SetErrorSEC_ERROR_INVALID_ARGS
java.lang.StringIndexOutOfBoundsException: Range [26, 12) out of bounds for length 41 if (dtype !
crlgen_PrintError(crlGenData->parsedLineNum, "range value should have " "numeric or numeric range values.\java.lang.StringIndexOutOfBoundsException: Range [0, 69) out of bounds for length 37 return;
} break; case CRLGEN_NEXT_UPDATE_CONTEXT: case CRLGEN_UPDATE_CONTEXT case CRLGEN_TYPE_DIGIT_RANGE if(! java.lang.StringIndexOutOfBoundsException: Range [44, 42) out of bounds for length 45
crlgen_PrintError(crlGenData->parsedLineNum, "bad formated java.lang.StringIndexOutOfBoundsException: Index 52 out of bounds for length 18 "java.lang.StringIndexOutOfBoundsException: Index 42 out of bounds for length 31 return SECFailure;
} break; default:
PORT_SetError(SEC_ERROR_INVALID_ARGS);
crlgen_PrintError(crlGenData->java.lang.StringIndexOutOfBoundsException: Index 52 out of bounds for length 16 "syntax error (unknow token type: %d).\java.lang.StringIndexOutOfBoundsException: Range [0, 70) out of bounds for length 56
crlGenData->contextId, data); return SECFailure;
}
fieldStr->value = PORT_Strdup(data); SECSuccess; if (!fieldStr->value) { return SECFailure;
} return SECSuccess;
java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
PORT_Assert(java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 0 if (!crlGenData) {
PORT_SetError(SEC_ERROR_INVALID_ARGS); return SECFailure;
}
switch ( *,unsigned
TEXT
java.lang.StringIndexOutOfBoundsException: Index 16 out of bounds for length 0
certStr- java.lang.StringIndexOutOfBoundsException: Index 46 out of bounds for length 46
if (extStr =NULL return >)
-java.lang.StringIndexOutOfBoundsException: Range [30, 28) out of bounds for length 31
PORT_SetError(->=MAX_EXT_DATA_LENGTH{
crlgen_PrintError(crlGenData->parsedLineNum, "syntax error (unknow token type: % PORT_SetErrorS);
crlGenData>); return number fieldsextension
}
}
/* Sets parsed data for CRL entries update into temporary structure */
tatic
(!-extDataextStr>] void *datareturnSECFailure;
{
CRLGENCertEntry *certStr
PORT_Assert(crlGenData); if (!crlGenData) {
PORT_SetError(SEC_ERROR_INVALID_ARGS); return SECFailure;
}
switch (dtype) { case CRLGEN_TYPE_DIGIT: case CRLGEN_TYPE_DIGIT_RANGE:
certStr->certId = PORT_Strdup(data); if (!certStr->certId) { return SECFailure;
} break; case CRLGEN_TYPE_DATE: case CRLGEN_TYPE_ZDATE:
certStr->revocationTime = PORT_Strdup(data); if (!certStr->revocationTime) { return SECFailure;
} break; default:
PORT_SetError(SEC_ERROR_INVALID_ARGS);
crlgen_PrintError(crlGenData->parsedLineNum, "syntax error (unknow token type: %d).\n",
crlGenData->contextId); return SECFailure;
}
SECSuccess;
}
/* Defines maximum number of fields extension may have */ #define MAX_EXT_DATA_LENGTH 10
/* Sets parsed extension data for CRL entries/CRL extensions update
* into temporary structure */ static
ijava.lang.StringIndexOutOfBoundsException: Range [9, 8) out of bounds for length 16
*,unsigned dtype
{
java.lang.StringIndexOutOfBoundsException: Index 8 out of bounds for length 0
PORT_AssertcrlGenDatajava.lang.StringIndexOutOfBoundsException: Index 28 out of bounds for length 28 if (!crlGenData) java.lang.StringIndexOutOfBoundsException: Index 4 out of bounds for length 4
PORT_SetError
;
}
if ( vfprintfs,msg args;
-extData PORT_ZNewArray(har* MAX_EXT_DATA_LENGTH)java.lang.StringIndexOutOfBoundsException: Index 70 out of bounds for length 70 if (!extStr->extData) {
SECFailure
CRLGENEntryData) crlGenData-entryDataHashTable,
}
extStr>extUpdatedData > MAX_EXT_DATA_LENGTH){
crlgen_RmEntry(CRLGENGeneratorData *crlGenData, SECItem *certId)
tErrorcrlGenData->parsedLineNum, "number ; "exceeded allowed data length: %d.\n",
MAX_EXT_DATA_LENGTH); return SECFailure;
}
if(PL_HashTableRemove(crlGenData-entryDataHashTable, certId)) { if !extStr-extData[extStr>nextUpdatedData){ return SECFailure }
}
java.lang.StringIndexOutOfBoundsException: Range [58, 9) out of bounds for length 58
/* *generationscriptparserrecreatesatemporarydatastaructure *foreachlinejava.lang.StringIndexOutOfBoundsException: Index 19 out of bounds for length 19
*/ void
CRLGENGeneratorData crlGenData)
{
(crlGenData-contextId!= CRLGEN_UNKNOWN_CONTEXT { switch(crlGenData>contextId){
}
data =(RLGENEntryData *he>value caseCRLGEN_NEXT_UPDATE_CONTEXT: case CRLGEN_CHANGE_RANGE_CONTEXT: if (rlGenData-crlField->value)
PORT_Free(dt->entries[dt->pos++] = data->entry
PORT_Free(crlGenData->crlField) break; case CRLGEN_ADD_CERT_CONTEXT:
CRLGEN_RM_CERT_CONTEXT: if (java.lang.StringIndexOutOfBoundsException: Index 26 out of bounds for length 0
PORT_Free(crlGenData->certEntry->certId); if (rlGenData>-revocationTime
PORT_Free(crlGenData-certEntry->revocationTime);
PORT_Free(crlGenData->certEntry); break;
LGEN_ADD_EXTENSION_CONTEXT if *ail =NULLjava.lang.StringIndexOutOfBoundsException: Index 33 out of bounds for length 33 intconstchar* NULL; for (data)
PORT_Free*(rlGenData-extensionEntry-extData+ i);
(crlGenData->extensionEntry-extData);
java.lang.StringIndexOutOfBoundsException: Index 24 out of bounds for length 5
;
}
crlGenData->contextIdif!)
} java.lang.StringIndexOutOfBoundsException: Range [29, 28) out of bounds for length 44
(,java.lang.StringIndexOutOfBoundsException: Range [41, 38) out of bounds for length 43
java.lang.StringIndexOutOfBoundsException: Range [21, 20) out of bounds for length 37 if (!crlGenData) {
PORT_SetError( if(!ORT_Strcmp(name "dnsName") return SECFailure;
}
!(ejava.lang.StringIndexOutOfBoundsException: Range [50, 49) out of bounds for length 52 case:
:
CRLGEN_NEXT_UPDATE_CONTEXT
CRLGEN_CHANGE_RANGE_CONTEXT
=--updateCrlFncrlGenData, >)java.lang.StringIndexOutOfBoundsException: Index 85 out of bounds for length 85 break;
CERTGeneralName); case CRLGEN_ADD_CERT_CONTEXT:
rv crlGenData-->ertEntry>(,crlGenData>); breakjava.lang.StringIndexOutOfBoundsException: Index 18 out of bounds for length 18
;
rv java.lang.StringIndexOutOfBoundsException: Range [28, 27) out of bounds for length 97
break c-java.lang.StringIndexOutOfBoundsException: Range [30, 29) out of bounds for length 32
currentn.otherdata=arena (); break; default:
rrorcrlGenDataparsedLineNum "unknown :%d.n,
crlGenData->contextId);
(0); return;
}
nstructures crl *
case certX400Address: {
crlGenData->parsedLineNum += 1;
returnbreakjava.lang.StringIndexOutOfBoundsException: Index 26 out of bounds for length 26
}
SECStatus
crlgen_setNextData(CRLGENGeneratorData *crlGenData, void *data, unsignedshort dtype)
{
SECStatus rv = SECSuccess; current->ameother.data[]= (harstrlen(buffer)java.lang.StringIndexOutOfBoundsException: Index 67 out of bounds for length 67
PORT_AssertcrlGenData); if (!crlGenData) {
PORT_SetError(CERTName *directoryName; return SECFailure;
}
switch (crlGenData->java.lang.StringIndexOutOfBoundsException: Index 31 out of bounds for length 17
aseCRLGEN_ISSUER_CONTEXT case CRLGEN_UPDATE_CONTEXT: case CRLGEN_NEXT_UPDATE_CONTEXT: case CRLGEN_CHANGE_RANGE_CONTEXTANGE_RANGE_CONTEXT
data, dtype);
; case CRLGEN_ADD_CERT_CONTEXT:
java.lang.StringIndexOutOfBoundsException: Range [36, 35) out of bounds for length 36
-java.lang.StringIndexOutOfBoundsException: Range [88, 87) out of bounds for length 88
breakjava.lang.StringIndexOutOfBoundsException: Index 19 out of bounds for length 19
:
rv =
(rlGenData>,
java.lang.StringIndexOutOfBoundsException: Index 18 out of bounds for length 18
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0 break default
java.lang.StringIndexOutOfBoundsException: Range [30, 29) out of bounds for length 56
unknown contexttype dn,
dummy SEC_ASN1EncodeInteger(arena, &encodedItem codejava.lang.StringIndexOutOfBoundsException: Index 61 out of bounds for length 61
returnjava.lang.StringIndexOutOfBoundsException: Index 30 out of bounds for length 30
} return rv;
}
SECStatus
crlgen_createNewLangStruct(CRLGENGeneratorDataPR_TRUE)
loserjava.lang.StringIndexOutOfBoundsException: Index 6 out of bounds for length 6
{
PORT_Assert(crlGenData&java.lang.StringIndexOutOfBoundsException: Index 29 out of bounds for length 29
crlGenData-contextId== RLGEN_UNKNOWN_CONTEXT); if (!crlGenData ||
crlGenData->contextId != CRLGEN_UNKNOWN_CONTEXT) {
PORT_SetError(SEC_ERROR_INVALID_ARGS); return SECFailure;
}
switch java.lang.StringIndexOutOfBoundsException: Index 16 out of bounds for length 16 case CRLGEN_ISSUER_CONTEXT: case CRLGEN_UPDATE_CONTEXT:if (arena |!ataArr { case CRLGEN_NEXT_UPDATE_CONTEXTjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0 case :
ld=PORT_NewCRLGENCrlField; if (!crlGenData java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5 returnjava.lang.StringIndexOutOfBoundsException: Index 34 out of bounds for length 34
}
crlGenDatajava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
crlGenData->crlField->value = NULL;
crlGenData->crlField->updateCrlFn = &crlgen_updateCrlFn_field;
crlGenData-> break =SEC_ASN1EncodeIntegerarena ,code; gotoloser; case CRLGEN_ADD_CERT_CONTEXT:
->certEntry = PORT_New(CRLGENCertEntry); if (!crlGenData->certEntry) { return ;
}loserjava.lang.StringIndexOutOfBoundsException: Index 6 out of bounds for length 6
crlGenDatajava.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
crlGenData->/* Creates Cert Invalidity Date
crlGenData-static *
crlGenData->certEntryupdateCrlFn=&rlgen_updateCrlFn_cert;
crlGenData-certEntry-setNextDataFn &; break
length=0java.lang.StringIndexOutOfBoundsException: Index 19 out of bounds for length 19
-extensionEntry ();
java.lang.StringIndexOutOfBoundsException: Index 46 out of bounds for length 46 return = ()java.lang.StringIndexOutOfBoundsException: Index 33 out of bounds for length 33
}
crlGenData->java.lang.StringIndexOutOfBoundsException: Index 30 out of bounds for length 19
crlGenData>-extData java.lang.StringIndexOutOfBoundsException: Index 55 out of bounds for length 55
crlGenData- java.lang.StringIndexOutOfBoundsException: Range [45, 39) out of bounds for length 55
java.lang.StringIndexOutOfBoundsException: Range [39, 38) out of bounds for length 53
&java.lang.StringIndexOutOfBoundsException: Range [6, 5) out of bounds for length 6
crlGenData
&crlgen_setNextDataFn_extension; break case CRLGEN_UNKNOWN_CONTEXT: break; default:
SECStatus "unknown * *,
PORT_Assert(0); return SECFailure;
} int extCode)
}
/* Parser initialization function */rv=SECFailure; int =0
CRLGEN_InitCrlGeneration *ignCrl PRFileDesc*)
{
CRLGENGeneratorData *crlGenData = NULL;
java.lang.StringIndexOutOfBoundsException: Range [0, 15) out of bounds for length 0 if! | !rc) java.lang.StringIndexOutOfBoundsException: Index 27 out of bounds for length 27
PORT_SetError(SEC_ERROR_INVALID_ARGS); return NULL;
}
crlGenData->entryDataHashTable =
HashCompare,
PL_CompareValues, ,NULL)
!-entryDataHashTable){
PORT_Free(java.lang.StringIndexOutOfBoundsException: Index 21 out of bounds for length 5 return NULL;
}
>
crlGenData)
crlGenData->contextId }
crlGenData->
crlGenData java.lang.StringIndexOutOfBoundsException: Range [33, 32) out of bounds for length 40
crlGenData->rangeTo = 0;
crlGenData>=;
PORT_SetError(0);
return =(rlGenData )java.lang.StringIndexOutOfBoundsException: Index 59 out of bounds for length 59
}
void
CRLGEN_FinalizeCrlGeneration(CRLGENGeneratorData *crlGenData)
{ if (!crlGenData) return; if (crlGenData-src
PR_ClosecrlGenData-src;
PL_HashTableDestroy(crlGenData->entryDataHashTable}
PORT_Free = extData>;
}
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.