← back to developerdad__ASA

Function bodies 3,594 total

All specs Real LLM only Function bodies
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.op
parseParameterMap 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(head
newFileItemHeaders 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.
             *
             * @pa
FileItemStreamImpl 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();
            }
‹ prevpage 4 / 72next ›