if (tsd_init == 0) {
if ((rc = YK_TSD_INIT(errno_key, free)) == 0) {
- YK_TSD_SET(errno_key, calloc(1, sizeof(int)));
- tsd_init = 1;
+ void *p = calloc(1, sizeof(int));
+ if (!p) {
+ tsd_init = -1;
+ } else {
+ YK_TSD_SET(errno_key, p);
+ tsd_init = 1;
+ }
} else {
tsd_init = -1;
}
if (tsd_init == 0) {
if ((rc = YK_TSD_INIT(errno_key, free)) == 0) {
- YK_TSD_SET(errno_key, calloc(1, sizeof(int)));
- tsd_init = 1;
+ void *p = calloc(1, sizeof(int));
+ if (!p) {
+ tsd_init = -1;
+ } else {
+ YK_TSD_SET(errno_key, p);
+ tsd_init = 1;
+ }
} else {
tsd_init = -1;
}