#endif
if (global_serialization_float_format)
free(global_serialization_float_format);
- global_serialization_float_format = double_format ? strdup(double_format) : NULL;
+ if (double_format)
+ {
+ char *p = strdup(double_format);
+ if (p == NULL)
+ {
+ _json_c_set_last_err("json_c_set_serialization_double_format: "
+ "out of memory\n");
+ return -1;
+ }
+ global_serialization_float_format = p;
+ }
+ else
+ {
+ global_serialization_float_format = NULL;
+ }
}
else if (global_or_thread == JSON_C_OPTION_THREAD)
{
free(tls_serialization_float_format);
tls_serialization_float_format = NULL;
}
- tls_serialization_float_format = double_format ? strdup(double_format) : NULL;
+ if (double_format)
+ {
+ char *p = strdup(double_format);
+ if (p == NULL)
+ {
+ _json_c_set_last_err("json_c_set_serialization_double_format: "
+ "out of memory\n");
+ return -1;
+ }
+ tls_serialization_float_format = p;
+ }
+ else
+ {
+ tls_serialization_float_format = NULL;
+ }
#else
- _json_c_set_last_err("json_c_set_set_serialization_double_format: not compiled "
+ _json_c_set_last_err("json_c_set_serialization_double_format: not compiled "
"with __thread support\n");
return -1;
#endif
if (dst->_to_json_string == json_object_userdata_to_json_string ||
dst->_to_json_string == _json_object_userdata_to_json_string)
{
+ char *p;
assert(src->_userdata);
- dst->_userdata = strdup(src->_userdata);
+ p = strdup(src->_userdata);
+ if (p == NULL)
+ {
+ _json_c_set_last_err("json_object_copy_serializer_data: out of memory\n");
+ return -1;
+ }
+ dst->_userdata = p;
}
// else if ... other supported serializers ...
else
{
_json_c_set_last_err(
- "json_object_deep_copy: unable to copy unknown serializer data: %p\n",
- (void *)dst->_to_json_string);
+ "json_object_copy_serializer_data: unable to copy unknown serializer data: "
+ "%p\n", (void *)dst->_to_json_string);
return -1;
}
dst->_user_delete = src->_user_delete;