static void __write(uint8_t *buf, ssize_t len) { int first, last; __coverity_negative_sink__(len); if (len == 0) return; buf[0] = first; buf[len-1] = last; __coverity_writeall__(buf); }
void *av_realloc(void *ptr, size_t size) { int has_memory; __coverity_negative_sink__(size); if (has_memory) { __coverity_escape__(ptr); ptr = __coverity_alloc__(size); __coverity_writeall__(ptr); __coverity_mark_as_afm_allocated__(ptr, "av_free"); return ptr; } else { return 0; } }
char *g_strconcat(const char *s, ...) { char *s; /* * Can't model: last argument must be null, the others * null-terminated strings */ s = __coverity_alloc_nosize__(); __coverity_writeall__(s); __coverity_mark_as_afm_allocated__(s, "g_free"); return s; }
char *g_strdup_printf(const char *format, ...) { char ch, *s; size_t len; __coverity_string_null_sink__(format); __coverity_string_size_sink__(format); ch = *format; s = __coverity_alloc_nosize__(); __coverity_writeall__(s); __coverity_mark_as_afm_allocated__(s, "g_free"); return s; }
void *g_realloc_n(void *ptr, size_t nmemb, size_t size) { size_t sz; __coverity_negative_sink__(nmemb); __coverity_negative_sink__(size); sz = nmemb * size; __coverity_escape__(ptr); ptr = __coverity_alloc__(sz); /* * Memory beyond the old size isn't actually initialized. Can't * model that. See Coverity's realloc() model */ __coverity_writeall__(ptr); __coverity_mark_as_afm_allocated__(ptr, "g_free"); return ptr; }