Skip to content

undefined-behavior: UBsan detected errors #3866

Open
@vihangm

Description

@vihangm

I ran ubsan on my code that uses openh264 and saw a few failures from openh264.

codec/encoder/core/inc/param_svc.h:400:84: runtime error: load of value 578, which is not a valid value for type 'EProfileIdc'
SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior codec/encoder/core/inc/param_svc.h:400:84

codec/encoder/core/inc/param_svc.h:401:80: runtime error: load of value 578, which is not a valid value for type 'EProfileIdc'
SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior codec/encoder/core/inc/param_svc.h:401:80

codec/encoder/plus/src/welsEncoderExt.cpp:557:27: runtime error: load of value 578, which is not a valid value for type 'EProfileIdc'
SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior codec/encoder/plus/src/welsEncoderExt.cpp:557:27

codec/encoder/core/src/encoder_ext.cpp:538:67: runtime error: load of value 578, which is not a valid value for type 'EProfileIdc'
SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior codec/encoder/core/src/encoder_ext.cpp:538:67

codec/encoder/core/src/encoder_ext.cpp:128:30: runtime error: load of value 578, which is not a valid value for type 'EProfileIdc'
SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior codec/encoder/core/src/encoder_ext.cpp:128:30

codec/encoder/core/src/encoder_ext.cpp:137:12: runtime error: load of value 578, which is not a valid value for type 'EProfileIdc'
SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior codec/encoder/core/src/encoder_ext.cpp:137:12

codec/encoder/core/src/encoder_ext.cpp:137:46: runtime error: load of value 578, which is not a valid value for type 'EProfileIdc'
SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior codec/encoder/core/src/encoder_ext.cpp:137:46

codec/encoder/core/src/encoder_ext.cpp:137:76: runtime error: load of value 578, which is not a valid value for type 'EProfileIdc'
SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior codec/encoder/core/src/encoder_ext.cpp:137:76

codec/encoder/core/src/encoder_ext.cpp:139:18: runtime error: load of value 578, which is not a valid value for type 'EProfileIdc'
SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior codec/encoder/core/src/encoder_ext.cpp:139:18

codec/common/inc/golomb_common.h:103:3: runtime error: shift exponent 32 is too large for 32-bit type 'uint32_t' (aka 'unsigned int')
SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior codec/common/inc/golomb_common.h:103:3

I don't have a small contained repro but am happy to help create one if needed.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions