镜像站点 · 本页由第三方 GitHub 只读镜像提供,非 GitHub 官方站点,不接受任何登录或凭据输入。前往 github.com
Skip to content

Throw ObjectDisposedException from SqliteBlob.Write(ReadOnlySpan<byte>) - #39656

Open
ilkertskn wants to merge 1 commit into
dotnet:mainfrom
ilkertskn:fix/sqlite-blob-write-span-disposed
Open

ilkertskn wants to merge 1 commit into
dotnet:mainfrom
ilkertskn:fix/sqlite-blob-write-span-disposed

Conversation

@ilkertskn

Copy link
Copy Markdown
Contributor

Read(Span) and Write(byte[], int, int) check whether the blob was disposed, but Write(ReadOnlySpan) didn't. Writing to a disposed blob through the span overload passed the null handle to sqlite3_blob_write and failed with "ArgumentNullException: SafeHandle cannot be null", and an empty write silently succeeded.

Add the same disposed check to the span overload.

  • [ x] I've read the guidelines for contributing and seen the walkthrough
  • [x ] I've posted a comment on an issue with a detailed description of how I am planning to contribute and got approval from a member of the team
  • [ x] The code builds and tests pass locally (also verified by our automated build checks)
  • [ x] Commit messages follow this format:
        Summary of the changes
        - Detail 1
        - Detail 2

        Fixes #bugnumber
  • [x ] Tests for the changes have been added (for bug fixes / features)
  • [x ] Code follows the same patterns and style as existing code in this repo

Read(Span<byte>) and Write(byte[], int, int) check whether the blob was
disposed, but Write(ReadOnlySpan<byte>) didn't. Writing to a disposed
blob through the span overload passed the null handle to
sqlite3_blob_write and failed with "ArgumentNullException: SafeHandle
cannot be null", and an empty write silently succeeded.

Add the same disposed check to the span overload.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant