Skip to content

Runtime crush at PostgresNumeric.init #186

Open
@sidepelican

Description

@sidepelican

Describe the bug

PostgresNumeric cannot decode large number (like 1234567890123) and it causes runtime crash.

To Reproduce

  1. call this line
PostgresNumeric(string: "1234567890123")
  1. crash!

Expected behavior

Can call initializer without crash.

Environment

  • Vapor Framework version: 4.48.8
  • postgres-nio: 1.6.2

Additional context

func reverseChunked(by maxSize: Int) -> [SubSequence] {

this function does not work correctly and return values over maxSize.

let uuu = "1234567890123"
print(uuu.reverseChunked(by: 4)) // ["1", "2345", "67890", "123"]

then here, Int16(67890)! causes crash.

for chunk in integer.reverseChunked(by: 4) {
weight += 1
// convert the 4 digits to an Int16
buffer.writeInteger(Int16(chunk)!, endianness: .big)
}

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions