|
@@ -812,14 +812,17 @@ size_t SDL_RWprintf(SDL_RWops *context, SDL_PRINTF_FORMAT_STRING const char *fmt
|
|
|
{
|
|
|
va_list ap;
|
|
|
int size;
|
|
|
- char *string = NULL;
|
|
|
+ char *string;
|
|
|
size_t bytes;
|
|
|
|
|
|
va_start(ap, fmt);
|
|
|
size = SDL_vasprintf(&string, fmt, ap);
|
|
|
va_end(ap);
|
|
|
+ if (size < 0) {
|
|
|
+ return 0;
|
|
|
+ }
|
|
|
|
|
|
- bytes = SDL_RWwrite(context, string, size);
|
|
|
+ bytes = SDL_RWwrite(context, string, (size_t)size);
|
|
|
SDL_free(string);
|
|
|
return bytes;
|
|
|
}
|
|
@@ -827,12 +830,15 @@ size_t SDL_RWprintf(SDL_RWops *context, SDL_PRINTF_FORMAT_STRING const char *fmt
|
|
|
size_t SDL_RWvprintf(SDL_RWops *context, const char *fmt, va_list ap)
|
|
|
{
|
|
|
int size;
|
|
|
- char *string = NULL;
|
|
|
+ char *string;
|
|
|
size_t bytes;
|
|
|
|
|
|
size = SDL_vasprintf(&string, fmt, ap);
|
|
|
+ if (size < 0) {
|
|
|
+ return 0;
|
|
|
+ }
|
|
|
|
|
|
- bytes = SDL_RWwrite(context, string, size);
|
|
|
+ bytes = SDL_RWwrite(context, string, (size_t)size);
|
|
|
SDL_free(string);
|
|
|
return bytes;
|
|
|
}
|