• Mike Kaganski's avatar
    tdf#108039: check for nullptr in rtl_uString and OUString · ef117cad
    Mike Kaganski yazdı
    rtl_[u]String_newConcat now checks allocation result to return
    early and avoid SIGSEGV. Other functions are not modified, to
    keep old behavior relying on allocation success and crashing
    early on OOM to avoid added overhead in performance-critical
    places.
    
    OUString operator+= now checks rtl_uString_newConcat result and
    throws std::bad_alloc on failure, to specifically address BASIC
    problem. It keeps strong exception guarantee of leaving this'
    state unaltered.
    
    Concatenation in BASIC now checks for bad string allocation
    (previously SIGSEGV was generated).
    
    Unit test included.
    
    Change-Id: I1513311d3d58eac43b2d2ec9a230e22dff0b4245
    Reviewed-on: https://gerrit.libreoffice.org/37965Reviewed-by: 's avatarStephan Bergmann <sbergman@redhat.com>
    Tested-by: 's avatarJenkins <ci@libreoffice.org>
    ef117cad
Adı
Son kayıt (commit)
Son güncelleme
..
da-DK Loading commit data...
string_left_01.vb Loading commit data...
string_right_01.vb Loading commit data...
test_abs_method.vb Loading commit data...
test_array_method.vb Loading commit data...
test_asc_method.vb Loading commit data...
test_atn_method.vb Loading commit data...
test_beep_method.vb Loading commit data...
test_cbool_method.vb Loading commit data...
test_cbyte_method.vb Loading commit data...
test_ccur_method.vb Loading commit data...
test_cdate_method.vb Loading commit data...
test_cdatetofromiso_methods.vb Loading commit data...
test_cdatetounodatecdatefromunodate_methods.vb Loading commit data...
test_cdatetounodatetimecdatefromunodatetime_methods.vb Loading commit data...
test_cdatetounotimecdatefromunotime_methods.vb Loading commit data...
test_cdbl_method.vb Loading commit data...
test_chdircurdir_methods.vb Loading commit data...
test_choose_method.vb Loading commit data...
test_cint_method.vb Loading commit data...
test_compatibilitymode_method.vb Loading commit data...
test_converttofromurl_methods.vb Loading commit data...
test_cossin_methods.vb Loading commit data...
test_createobject_method.vb Loading commit data...
test_createunolistener_method.vb Loading commit data...
test_createunoservice_method.vb Loading commit data...
test_createunostruct_method.vb Loading commit data...
test_createunovalue_method.vb Loading commit data...
test_csng_method.vb Loading commit data...
test_cstr_method.vb Loading commit data...
test_cvar_method.vb Loading commit data...
test_cverr_method.vb Loading commit data...
test_date_literal.vb Loading commit data...
test_datedateadddatediff_methods.vb Loading commit data...
test_datedatepartday_methods.vb Loading commit data...
test_dimarray_method.vb Loading commit data...
test_environ_method.vb Loading commit data...
test_equalunoobjects_method.vb Loading commit data...
test_erl_method.vb Loading commit data...
test_err_method.vb Loading commit data...
test_falsetrue_method.vb Loading commit data...
test_fix_method.vb Loading commit data...
test_frac_method.vb Loading commit data...
test_freefile_method.vb Loading commit data...
test_freelibrary_method.vb Loading commit data...
test_getdefaultcontext_method.vb Loading commit data...
test_getdialogzoomfactorx_method.vb Loading commit data...
test_getdialogzoomfactory_method.vb Loading commit data...
test_getguitype_method.vb Loading commit data...
test_getguiversion_method.vb Loading commit data...
test_getpathseparator_method.vb Loading commit data...
test_getprocessservicemanager_method.vb Loading commit data...
test_getsolarversion_method.vb Loading commit data...
test_getsystemtype_method.vb Loading commit data...
test_hasunointerfaces_method.vb Loading commit data...
test_hex_method.vb Loading commit data...
test_hexliteral_negIntLimit-2.vb Loading commit data...
test_hexliteral_negIntLimit.vb Loading commit data...
test_hexliteral_posIntLimit.vb Loading commit data...
test_hexliteral_zeroIntLimit.vb Loading commit data...
test_hour_method.vb Loading commit data...
test_iif_method.vb Loading commit data...
test_instr_method.vb Loading commit data...
test_int_method.vb Loading commit data...
test_isarray_method.vb Loading commit data...
test_isdate_method.vb Loading commit data...
test_isempty_method.vb Loading commit data...
test_iserror_method.vb Loading commit data...
test_isnull_method.vb Loading commit data...
test_isnumeric_method.vb Loading commit data...
test_isobject_method.vb Loading commit data...
test_isunostruct_method.vb Loading commit data...
test_join_method.vb Loading commit data...
test_lbound_method.vb Loading commit data...
test_lcase_method.vb Loading commit data...
test_len_method.vb Loading commit data...
test_lenb_method.vb Loading commit data...
test_logexp_methods.vb Loading commit data...
test_ltrim_method.vb Loading commit data...
test_mid_CountNegative_3args.vb Loading commit data...
test_mid_EndOutOfBounds_3args.vb Loading commit data...
test_mid_StartOutOfBounds_2args.vb Loading commit data...
test_mid_StartOutOfBounds_3args.vb Loading commit data...
test_mid_firstletter_3args.vb Loading commit data...
test_mid_sub2letters_2args.vb Loading commit data...
test_minute_method.vb Loading commit data...
test_month_method.vb Loading commit data...
test_nowtimevalue_methods.vb Loading commit data...
test_oct_method.vb Loading commit data...
test_qbcolor_method.vb Loading commit data...
test_random_methods.vb Loading commit data...
test_resolvepath_method.vb Loading commit data...
test_rgb_method.vb Loading commit data...
test_rtrim_method.vb Loading commit data...
test_second_method.vb Loading commit data...
test_sgn_method.vb Loading commit data...
test_space_method.vb Loading commit data...
test_spc_method.vb Loading commit data...
test_split_method.vb Loading commit data...
test_sqr_method.vb Loading commit data...
test_strcomp_method.vb Loading commit data...
test_string_method.vb Loading commit data...
test_string_overflow_safe.vb Loading commit data...
test_strtrim_methods.vb Loading commit data...
test_switch_method.vb Loading commit data...
test_tab_method.vb Loading commit data...
test_tan_method.vb Loading commit data...
test_timer_method.vb Loading commit data...
test_timeserialtimevalue_methods.vb Loading commit data...
test_twipsperpixelx_method.vb Loading commit data...
test_twipsperpixely_method.vb Loading commit data...
test_typelen_method.vb Loading commit data...
test_typename_method.vb Loading commit data...
test_ucase_method.vb Loading commit data...
test_val_method.vb Loading commit data...
test_vartype_method.vb Loading commit data...
test_wait_method.vb Loading commit data...
test_weekday_method.vb Loading commit data...
test_year_method.vb Loading commit data...
uno_struct_assign.vb Loading commit data...