[Base-utils][Formattable] Fix crashes when malloc returns null 18/135418/1 submit/tizen/20170623.011437
authorLukasz Pik <lu.pik@partner.samsung.com>
Thu, 22 Jun 2017 07:58:40 +0000 (09:58 +0200)
committerLukasz Pik <lu.pik@partner.samsung.com>
Thu, 22 Jun 2017 08:00:33 +0000 (10:00 +0200)
Change-Id: I946f281c2f91f03ba26bb8994c1284b53cab89f1
Signed-off-by: Lukasz Pik <lu.pik@partner.samsung.com>
src/include/utils_i18n_formattable.h
src/utils_i18n_formattable.cpp

index 43aeaac..38559a3 100644 (file)
@@ -218,6 +218,7 @@ int i18n_formattable_clone(i18n_formattable_h formattable, i18n_formattable_h *c
  * @return @c 0 on success, otherwise a negative error value
  * @retval #I18N_ERROR_NONE Successful
  * @retval #I18N_ERROR_INVALID_PARAMETER Invalid function parameter
+ * @retval #I18N_ERROR_OUT_OF_MEMORY Out of memory
  */
 int i18n_formattable_get_array(i18n_formattable_h formattable, i18n_formattable_h **array, int32_t *count);
 
index 65a8040..968a8e7 100644 (file)
@@ -137,6 +137,7 @@ int i18n_formattable_get_array(i18n_formattable_h formattable, i18n_formattable_
     const Formattable *f_array = ((Formattable *) formattable)->getArray(*count, status);
 
     *array = (i18n_formattable_h *)malloc(*count * sizeof(i18n_formattable_h));
+    retv_if(*array == NULL, I18N_ERROR_OUT_OF_MEMORY);
 
     for (int i = 0; i < *count; i++) {
         (*array)[i] = (const i18n_formattable_h) &f_array[i];