char *filename;
_mesa_sha1_format(buf, key);
- asprintf(&filename, "%s/%c%c/%s", cache->path, buf[0], buf[1], buf + 2);
+ if (asprintf(&filename, "%s/%c%c/%s", cache->path, buf[0],
+ buf[1], buf + 2) == -1)
+ return NULL;
return filename;
}
char buf[41];
_mesa_sha1_format(buf, key);
- asprintf(&dir, "%s/%c%c", cache->path, buf[0], buf[1]);
- mkdir_if_needed(dir);
+ if (asprintf(&dir, "%s/%c%c", cache->path, buf[0], buf[1]) == -1)
+ return;
+ mkdir_if_needed(dir);
free(dir);
}
* final destination filename, (to prevent any readers from seeing
* a partially written file).
*/
- asprintf(&filename_tmp, "%s.tmp", filename);
- if (filename_tmp == NULL)
+ if (asprintf(&filename_tmp, "%s.tmp", filename) == -1)
goto done;
fd = open(filename_tmp, O_WRONLY | O_CLOEXEC | O_CREAT, 0644);