Function bodies 3,594 total
IllegalBoundaryException class · java · L751-L776 (26 LOC)data/dim2b/scenarios/vul4j-11-cwe264/fixed/MultipartStream.java
public static class IllegalBoundaryException extends IOException {
/**
* The UID to use when serializing this instance.
*/
private static final long serialVersionUID = -161533165102632918L;
/**
* Constructs an <code>IllegalBoundaryException</code> with no
* detail message.
*/
public IllegalBoundaryException() {
super();
}
/**
* Constructs an <code>IllegalBoundaryException</code> with
* the specified detail message.
*
* @param message The detail message.
*/
public IllegalBoundaryException(String message) {
super(message);
}
}IllegalBoundaryException method · java · L762-L764 (3 LOC)data/dim2b/scenarios/vul4j-11-cwe264/fixed/MultipartStream.java
public IllegalBoundaryException() {
super();
}IllegalBoundaryException method · java · L772-L774 (3 LOC)data/dim2b/scenarios/vul4j-11-cwe264/fixed/MultipartStream.java
public IllegalBoundaryException(String message) {
super(message);
}ItemInputStream class · java · L781-L1025 (245 LOC)data/dim2b/scenarios/vul4j-11-cwe264/fixed/MultipartStream.java
public class ItemInputStream extends InputStream implements Closeable {
/**
* The number of bytes, which have been read so far.
*/
private long total;
/**
* The number of bytes, which must be hold, because
* they might be a part of the boundary.
*/
private int pad;
/**
* The current offset in the buffer.
*/
private int pos;
/**
* Whether the stream is already closed.
*/
private boolean closed;
/**
* Creates a new instance.
*/
ItemInputStream() {
findSeparator();
}
/**
* Called for finding the separator.
*/
private void findSeparator() {
pos = MultipartStream.this.findSeparator();
if (pos == -1) {
if (tail - head > keepRegion) {
pad = keepRegion;
} else {
ItemInputStream method · java · L807-L809 (3 LOC)data/dim2b/scenarios/vul4j-11-cwe264/fixed/MultipartStream.java
ItemInputStream() {
findSeparator();
}findSeparator method · java · L814-L823 (10 LOC)data/dim2b/scenarios/vul4j-11-cwe264/fixed/MultipartStream.java
private void findSeparator() {
pos = MultipartStream.this.findSeparator();
if (pos == -1) {
if (tail - head > keepRegion) {
pad = keepRegion;
} else {
pad = tail - head;
}
}
}getBytesRead method · java · L831-L833 (3 LOC)data/dim2b/scenarios/vul4j-11-cwe264/fixed/MultipartStream.java
public long getBytesRead() {
return total;
}Want this analysis on your repo? https://repobility.com/scan/
available method · java · L843-L848 (6 LOC)data/dim2b/scenarios/vul4j-11-cwe264/fixed/MultipartStream.java
public int available() throws IOException {
if (pos == -1) {
return tail - head - pad;
}
return pos - head;
}read method · java · L863-L876 (14 LOC)data/dim2b/scenarios/vul4j-11-cwe264/fixed/MultipartStream.java
public int read() throws IOException {
if (closed) {
throw new FileItemStream.ItemSkippedException();
}
if (available() == 0 && makeAvailable() == 0) {
return -1;
}
++total;
int b = buffer[head++];
if (b >= 0) {
return b;
}
return b + BYTE_POSITIVE_OFFSET;
}read method · java · L889-L908 (20 LOC)data/dim2b/scenarios/vul4j-11-cwe264/fixed/MultipartStream.java
public int read(byte[] b, int off, int len) throws IOException {
if (closed) {
throw new FileItemStream.ItemSkippedException();
}
if (len == 0) {
return 0;
}
int res = available();
if (res == 0) {
res = makeAvailable();
if (res == 0) {
return -1;
}
}
res = Math.min(res, len);
System.arraycopy(buffer, head, b, off, res);
head += res;
total += res;
return res;
}close method · java · L916-L918 (3 LOC)data/dim2b/scenarios/vul4j-11-cwe264/fixed/MultipartStream.java
public void close() throws IOException {
close(false);
}close method · java · L927-L947 (21 LOC)data/dim2b/scenarios/vul4j-11-cwe264/fixed/MultipartStream.java
public void close(boolean pCloseUnderlying) throws IOException {
if (closed) {
return;
}
if (pCloseUnderlying) {
closed = true;
input.close();
} else {
for (;;) {
int av = available();
if (av == 0) {
av = makeAvailable();
if (av == 0) {
break;
}
}
skip(av);
}
}
closed = true;
}skip method · java · L958-L972 (15 LOC)data/dim2b/scenarios/vul4j-11-cwe264/fixed/MultipartStream.java
public long skip(long bytes) throws IOException {
if (closed) {
throw new FileItemStream.ItemSkippedException();
}
int av = available();
if (av == 0) {
av = makeAvailable();
if (av == 0) {
return 0;
}
}
long res = Math.min(av, bytes);
head += res;
return res;
}makeAvailable method · java · L980-L1014 (35 LOC)data/dim2b/scenarios/vul4j-11-cwe264/fixed/MultipartStream.java
private int makeAvailable() throws IOException {
if (pos != -1) {
return 0;
}
// Move the data to the beginning of the buffer.
total += tail - head - pad;
System.arraycopy(buffer, tail - pad, buffer, 0, pad);
// Refill buffer with new data.
head = 0;
tail = pad;
for (;;) {
int bytesRead = input.read(buffer, tail, bufSize - tail);
if (bytesRead == -1) {
// The last pad amount is left in the buffer.
// Boundary can't be in there so signal an error
// condition.
final String msg = "Stream ended unexpectedly";
throw new MalformedStreamException(msg);
}
if (notifier != null) {
notifier.noteBytesRead(bytesRead);
}
tail += bytesRead;
isClosed method · java · L1021-L1023 (3 LOC)data/dim2b/scenarios/vul4j-11-cwe264/fixed/MultipartStream.java
public boolean isClosed() {
return closed;
}Methodology: Repobility · https://repobility.com/research/state-of-ai-code-2026/
isMultipartContent method · java · L76-L85 (10 LOC)data/dim2b/scenarios/vul4j-11-cwe264/vulnerable/FileUploadBase.java
public static final boolean isMultipartContent(RequestContext ctx) {
String contentType = ctx.getContentType();
if (contentType == null) {
return false;
}
if (contentType.toLowerCase(Locale.ENGLISH).startsWith(MULTIPART)) {
return true;
}
return false;
}isMultipartContent method · java · L99-L101 (3 LOC)data/dim2b/scenarios/vul4j-11-cwe264/vulnerable/FileUploadBase.java
public static boolean isMultipartContent(HttpServletRequest req) {
return ServletFileUpload.isMultipartContent(req);
}getSizeMax method · java · L205-L207 (3 LOC)data/dim2b/scenarios/vul4j-11-cwe264/vulnerable/FileUploadBase.java
public long getSizeMax() {
return sizeMax;
}setSizeMax method · java · L219-L221 (3 LOC)data/dim2b/scenarios/vul4j-11-cwe264/vulnerable/FileUploadBase.java
public void setSizeMax(long sizeMax) {
this.sizeMax = sizeMax;
}getFileSizeMax method · java · L230-L232 (3 LOC)data/dim2b/scenarios/vul4j-11-cwe264/vulnerable/FileUploadBase.java
public long getFileSizeMax() {
return fileSizeMax;
}setFileSizeMax method · java · L241-L243 (3 LOC)data/dim2b/scenarios/vul4j-11-cwe264/vulnerable/FileUploadBase.java
public void setFileSizeMax(long fileSizeMax) {
this.fileSizeMax = fileSizeMax;
}getHeaderEncoding method · java · L253-L255 (3 LOC)data/dim2b/scenarios/vul4j-11-cwe264/vulnerable/FileUploadBase.java
public String getHeaderEncoding() {
return headerEncoding;
}setHeaderEncoding method · java · L265-L267 (3 LOC)data/dim2b/scenarios/vul4j-11-cwe264/vulnerable/FileUploadBase.java
public void setHeaderEncoding(String encoding) {
headerEncoding = encoding;
}Repobility · MCP-ready · https://repobility.com
parseRequest method · java · L286-L289 (4 LOC)data/dim2b/scenarios/vul4j-11-cwe264/vulnerable/FileUploadBase.java
public List<FileItem> parseRequest(HttpServletRequest req)
throws FileUploadException {
return parseRequest(new ServletRequestContext(req));
}getItemIterator method · java · L307-L315 (9 LOC)data/dim2b/scenarios/vul4j-11-cwe264/vulnerable/FileUploadBase.java
public FileItemIterator getItemIterator(RequestContext ctx)
throws FileUploadException, IOException {
try {
return new FileItemIteratorImpl(ctx);
} catch (FileUploadIOException e) {
// unwrap encapsulated SizeException
throw (FileUploadException) e.getCause();
}
}parseRequest method · java · L329-L374 (46 LOC)data/dim2b/scenarios/vul4j-11-cwe264/vulnerable/FileUploadBase.java
public List<FileItem> parseRequest(RequestContext ctx)
throws FileUploadException {
List<FileItem> items = new ArrayList<FileItem>();
boolean successful = false;
try {
FileItemIterator iter = getItemIterator(ctx);
FileItemFactory fac = getFileItemFactory();
if (fac == null) {
throw new NullPointerException("No FileItemFactory has been set.");
}
while (iter.hasNext()) {
final FileItemStream item = iter.next();
// Don't use getName() here to prevent an InvalidFileNameException.
final String fileName = ((FileItemIteratorImpl.FileItemStreamImpl) item).name;
FileItem fileItem = fac.createItem(item.getFieldName(), item.getContentType(),
item.isFormField(), fileName);
items.add(fileItem);
try {
Streams.copy(item.opparseParameterMap method · java · L389-L407 (19 LOC)data/dim2b/scenarios/vul4j-11-cwe264/vulnerable/FileUploadBase.java
public Map<String, List<FileItem>> parseParameterMap(RequestContext ctx)
throws FileUploadException {
final List<FileItem> items = parseRequest(ctx);
final Map<String, List<FileItem>> itemsMap = new HashMap<String, List<FileItem>>(items.size());
for (FileItem fileItem : items) {
String fieldName = fileItem.getFieldName();
List<FileItem> mappedItems = itemsMap.get(fieldName);
if (mappedItems == null) {
mappedItems = new ArrayList<FileItem>();
itemsMap.put(fieldName, mappedItems);
}
mappedItems.add(fileItem);
}
return itemsMap;
}getBoundary method · java · L419-L436 (18 LOC)data/dim2b/scenarios/vul4j-11-cwe264/vulnerable/FileUploadBase.java
protected byte[] getBoundary(String contentType) {
ParameterParser parser = new ParameterParser();
parser.setLowerCaseNames(true);
// Parameter parser can handle null input
Map<String, String> params = parser.parse(contentType, new char[] {';', ','});
String boundaryStr = params.get("boundary");
if (boundaryStr == null) {
return null;
}
byte[] boundary;
try {
boundary = boundaryStr.getBytes("ISO-8859-1");
} catch (UnsupportedEncodingException e) {
boundary = boundaryStr.getBytes(); // Intentionally falls back to default charset
}
return boundary;
}getFileName method · java · L448-L450 (3 LOC)data/dim2b/scenarios/vul4j-11-cwe264/vulnerable/FileUploadBase.java
protected String getFileName(Map<String, String> headers) {
return getFileName(getHeader(headers, CONTENT_DISPOSITION));
}getFileName method · java · L460-L462 (3 LOC)data/dim2b/scenarios/vul4j-11-cwe264/vulnerable/FileUploadBase.java
protected String getFileName(FileItemHeaders headers) {
return getFileName(headers.getHeader(CONTENT_DISPOSITION));
}getFileName method · java · L469-L492 (24 LOC)data/dim2b/scenarios/vul4j-11-cwe264/vulnerable/FileUploadBase.java
private String getFileName(String pContentDisposition) {
String fileName = null;
if (pContentDisposition != null) {
String cdl = pContentDisposition.toLowerCase(Locale.ENGLISH);
if (cdl.startsWith(FORM_DATA) || cdl.startsWith(ATTACHMENT)) {
ParameterParser parser = new ParameterParser();
parser.setLowerCaseNames(true);
// Parameter parser can handle null input
Map<String, String> params = parser.parse(pContentDisposition, ';');
if (params.containsKey("filename")) {
fileName = params.get("filename");
if (fileName != null) {
fileName = fileName.trim();
} else {
// Even if there is no value, the parameter is present,
// so we return an empty file name rather than no file
// name.
fileName =About: code-quality intelligence by Repobility · https://repobility.com
getFieldName method · java · L502-L504 (3 LOC)data/dim2b/scenarios/vul4j-11-cwe264/vulnerable/FileUploadBase.java
protected String getFieldName(FileItemHeaders headers) {
return getFieldName(headers.getHeader(CONTENT_DISPOSITION));
}getFieldName method · java · L512-L526 (15 LOC)data/dim2b/scenarios/vul4j-11-cwe264/vulnerable/FileUploadBase.java
private String getFieldName(String pContentDisposition) {
String fieldName = null;
if (pContentDisposition != null
&& pContentDisposition.toLowerCase(Locale.ENGLISH).startsWith(FORM_DATA)) {
ParameterParser parser = new ParameterParser();
parser.setLowerCaseNames(true);
// Parameter parser can handle null input
Map<String, String> params = parser.parse(pContentDisposition, ';');
fieldName = params.get("name");
if (fieldName != null) {
fieldName = fieldName.trim();
}
}
return fieldName;
}getFieldName method · java · L538-L540 (3 LOC)data/dim2b/scenarios/vul4j-11-cwe264/vulnerable/FileUploadBase.java
protected String getFieldName(Map<String, String> headers) {
return getFieldName(getHeader(headers, CONTENT_DISPOSITION));
}createItem method · java · L557-L564 (8 LOC)data/dim2b/scenarios/vul4j-11-cwe264/vulnerable/FileUploadBase.java
protected FileItem createItem(Map<String, String> headers,
boolean isFormField)
throws FileUploadException {
return getFileItemFactory().createItem(getFieldName(headers),
getHeader(headers, CONTENT_TYPE),
isFormField,
getFileName(headers));
}getParsedHeaders method · java · L578-L609 (32 LOC)data/dim2b/scenarios/vul4j-11-cwe264/vulnerable/FileUploadBase.java
protected FileItemHeaders getParsedHeaders(String headerPart) {
final int len = headerPart.length();
FileItemHeadersImpl headers = newFileItemHeaders();
int start = 0;
for (;;) {
int end = parseEndOfLine(headerPart, start);
if (start == end) {
break;
}
StringBuilder header = new StringBuilder(headerPart.substring(start, end));
start = end + 2;
while (start < len) {
int nonWs = start;
while (nonWs < len) {
char c = headerPart.charAt(nonWs);
if (c != ' ' && c != '\t') {
break;
}
++nonWs;
}
if (nonWs == start) {
break;
}
// Continuation line found
end = parseEndOfLine(headerPart, nonWs);
header.append(" ").append(headnewFileItemHeaders method · java · L615-L617 (3 LOC)data/dim2b/scenarios/vul4j-11-cwe264/vulnerable/FileUploadBase.java
protected FileItemHeadersImpl newFileItemHeaders() {
return new FileItemHeadersImpl();
}parseHeaders method · java · L633-L646 (14 LOC)data/dim2b/scenarios/vul4j-11-cwe264/vulnerable/FileUploadBase.java
protected Map<String, String> parseHeaders(String headerPart) {
FileItemHeaders headers = getParsedHeaders(headerPart);
Map<String, String> result = new HashMap<String, String>();
for (Iterator<String> iter = headers.getHeaderNames(); iter.hasNext();) {
String headerName = iter.next();
Iterator<String> iter2 = headers.getHeaders(headerName);
StringBuilder headerValue = new StringBuilder(iter2.next());
while (iter2.hasNext()) {
headerValue.append(",").append(iter2.next());
}
result.put(headerName, headerValue.toString());
}
return result;
}parseEndOfLine method · java · L656-L669 (14 LOC)data/dim2b/scenarios/vul4j-11-cwe264/vulnerable/FileUploadBase.java
private int parseEndOfLine(String headerPart, int end) {
int index = end;
for (;;) {
int offset = headerPart.indexOf('\r', index);
if (offset == -1 || offset + 1 >= headerPart.length()) {
throw new IllegalStateException(
"Expected headers to be terminated by an empty line.");
}
if (headerPart.charAt(offset + 1) == '\n') {
return offset;
}
index = offset + 1;
}
}Want this analysis on your repo? https://repobility.com/scan/
parseHeaderLine method · java · L676-L686 (11 LOC)data/dim2b/scenarios/vul4j-11-cwe264/vulnerable/FileUploadBase.java
private void parseHeaderLine(FileItemHeadersImpl headers, String header) {
final int colonOffset = header.indexOf(':');
if (colonOffset == -1) {
// This header line is malformed, skip it.
return;
}
String headerName = header.substring(0, colonOffset).trim();
String headerValue =
header.substring(header.indexOf(':') + 1).trim();
headers.addHeader(headerName, headerValue);
}getHeader method · java · L700-L703 (4 LOC)data/dim2b/scenarios/vul4j-11-cwe264/vulnerable/FileUploadBase.java
protected final String getHeader(Map<String, String> headers,
String name) {
return headers.get(name.toLowerCase(Locale.ENGLISH));
}FileItemStreamImpl class · java · L714-L887 (174 LOC)data/dim2b/scenarios/vul4j-11-cwe264/vulnerable/FileUploadBase.java
class FileItemStreamImpl implements FileItemStream {
/**
* The file items content type.
*/
private final String contentType;
/**
* The file items field name.
*/
private final String fieldName;
/**
* The file items file name.
*/
private final String name;
/**
* Whether the file item is a form field.
*/
private final boolean formField;
/**
* The file items input stream.
*/
private final InputStream stream;
/**
* Whether the file item was already opened.
*/
private boolean opened;
/**
* The headers, if any.
*/
private FileItemHeaders headers;
/**
* Creates a new instance.
*
* @paFileItemStreamImpl method · java · L761-L799 (39 LOC)data/dim2b/scenarios/vul4j-11-cwe264/vulnerable/FileUploadBase.java
FileItemStreamImpl(String pName, String pFieldName,
String pContentType, boolean pFormField,
long pContentLength) throws IOException {
name = pName;
fieldName = pFieldName;
contentType = pContentType;
formField = pFormField;
final ItemInputStream itemStream = multi.newInputStream();
InputStream istream = itemStream;
if (fileSizeMax != -1) {
if (pContentLength != -1
&& pContentLength > fileSizeMax) {
FileSizeLimitExceededException e =
new FileSizeLimitExceededException(
format("The field %s exceeds its maximum permitted size of %s bytes.",
fieldName, Long.valueOf(fileSizeMax)),
pContentLength, fileSizeMax);
raiseError method · java · L784-L795 (12 LOC)data/dim2b/scenarios/vul4j-11-cwe264/vulnerable/FileUploadBase.java
protected void raiseError(long pSizeMax, long pCount)
throws IOException {
itemStream.close(true);
FileSizeLimitExceededException e =
new FileSizeLimitExceededException(
format("The field %s exceeds its maximum permitted size of %s bytes.",
fieldName, Long.valueOf(pSizeMax)),
pCount, pSizeMax);
e.setFieldName(fieldName);
e.setFileName(name);
throw new FileUploadIOException(e);
}getContentType method · java · L806-L808 (3 LOC)data/dim2b/scenarios/vul4j-11-cwe264/vulnerable/FileUploadBase.java
public String getContentType() {
return contentType;
}getFieldName method · java · L815-L817 (3 LOC)data/dim2b/scenarios/vul4j-11-cwe264/vulnerable/FileUploadBase.java
public String getFieldName() {
return fieldName;
}getName method · java · L828-L830 (3 LOC)data/dim2b/scenarios/vul4j-11-cwe264/vulnerable/FileUploadBase.java
public String getName() {
return Streams.checkFileName(name);
}Methodology: Repobility · https://repobility.com/research/state-of-ai-code-2026/
isFormField method · java · L838-L840 (3 LOC)data/dim2b/scenarios/vul4j-11-cwe264/vulnerable/FileUploadBase.java
public boolean isFormField() {
return formField;
}openStream method · java · L849-L858 (10 LOC)data/dim2b/scenarios/vul4j-11-cwe264/vulnerable/FileUploadBase.java
public InputStream openStream() throws IOException {
if (opened) {
throw new IllegalStateException(
"The stream was already opened.");
}
if (((Closeable) stream).isClosed()) {
throw new FileItemStream.ItemSkippedException();
}
return stream;
}close method · java · L865-L867 (3 LOC)data/dim2b/scenarios/vul4j-11-cwe264/vulnerable/FileUploadBase.java
void close() throws IOException {
stream.close();
}