Skip to content

Fix NumberFormatException for manifest GIDs exceeding Long.MAX_VALUE#8

Merged
joshuatam merged 1 commit intojoshuatam:gamenative-latestfrom
jeremybernstein:jb/fix-unsigned-manifest-id
Mar 30, 2026
Merged

Fix NumberFormatException for manifest GIDs exceeding Long.MAX_VALUE#8
joshuatam merged 1 commit intojoshuatam:gamenative-latestfrom
jeremybernstein:jb/fix-unsigned-manifest-id

Conversation

@jeremybernstein
Copy link
Copy Markdown

Summary

  • getSteam3DepotManifest parses manifest GIDs via String.toLong() which throws
    NumberFormatException for values > 9223372036854775807
  • Steam manifest GIDs are unsigned 64-bit — parse via toULong().toLong() to preserve
    the bit pattern as a signed long

Test case

Neverwinter Nights: Enhanced Edition (app 3700) — depot 3701 has GID
11172694944737444218, depot 3707 has 17259200295595460348. Both overflow signed long.

Confirmed via steamcmd +login anonymous +app_info_print 3700.

@jeremybernstein jeremybernstein changed the base branch from master to gamenative-latest March 30, 2026 21:09
@jeremybernstein jeremybernstein force-pushed the jb/fix-unsigned-manifest-id branch from 1df3e00 to 7c8236b Compare March 30, 2026 21:11
@joshuatam joshuatam merged commit 46ad1f6 into joshuatam:gamenative-latest Mar 30, 2026
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.

2 participants