Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

OpenFileGDB writer: fix corrupted maximum blob size header field in some SetFeature() scenarios (fixes #9388) #9400

Merged
merged 1 commit into from
Mar 6, 2024

Conversation

rouault
Copy link
Member

@rouault rouault commented Mar 6, 2024

When SetFeature() involves generating a row whose blob size is larger than the maximum one in the file, the file header was no properly refreshed. This didn't cause issues to the OpenFileGDB driver, which is robust to that, but ESRI based readers, like ArcMap or the FileGDB SDK, were unable to read such features.

…ome SetFeature() scenarios (fixes OSGeo#9388)

When SetFeature() involves generating a row whose blob size is larger
than the maximum one in the file, the file header was no properly
refreshed. This didn't cause issues to the OpenFileGDB driver, which is
robust to that, but ESRI based readers, like ArcMap or the FileGDB SDK,
were unable to read such features.
@coveralls
Copy link
Collaborator

Coverage Status

coverage: 68.832% (-0.002%) from 68.834%
when pulling fdf3901 on rouault:fix_9388
into 70e50ac on OSGeo:master.

@rouault rouault merged commit fd0c4f4 into OSGeo:master Mar 6, 2024
32 of 33 checks passed
@rouault
Copy link
Member Author

rouault commented Mar 6, 2024

The backport to release/3.8 failed:

The process '/usr/bin/git' failed with exit code 1
stderr
error: could not apply fdf3901278... OpenFileGDB writer: fix corrupted maximum blob size header field in some SetFeature() scenarios (fixes #9388)
hint: After resolving the conflicts, mark them with
hint: "git add/rm <pathspec>", then run
hint: "git cherry-pick --continue".
hint: You can instead skip this commit with "git cherry-pick --skip".
hint: To abort and get back to the state before "git cherry-pick",
hint: run "git cherry-pick --abort".

stdout
Auto-merging autotest/ogr/ogr_openfilegdb_write.py
CONFLICT (content): Merge conflict in autotest/ogr/ogr_openfilegdb_write.py
Auto-merging ogr/ogrsf_frmts/openfilegdb/filegdbtable.cpp
Auto-merging ogr/ogrsf_frmts/openfilegdb/filegdbtable_write.cpp

To backport manually, run these commands in your terminal:

# Fetch latest updates from GitHub
git fetch
# Create a new working tree
git worktree add .worktrees/backport-release/3.8 release/3.8
# Navigate to the new working tree
cd .worktrees/backport-release/3.8
# Create a new branch
git switch --create backport-9400-to-release/3.8
# Cherry-pick the merged commit of this pull request and resolve the conflicts
git cherry-pick fdf39012788b1110b3bf0ae6b8422a528f0ae8b6
# Push it to GitHub
git push --set-upstream origin backport-9400-to-release/3.8
# Go back to the original working tree
cd ../..
# Delete the working tree
git worktree remove .worktrees/backport-release/3.8

Then, create a pull request where the base branch is release/3.8 and the compare/head branch is backport-9400-to-release/3.8.

@rouault
Copy link
Member Author

rouault commented Mar 7, 2024

backport in #9404

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants