diff --git a/fs.c b/fs.c index 9612450..4936dc9 100644 --- a/fs.c +++ b/fs.c @@ -904,6 +904,8 @@ main(int argc, char **argv) sysfatal("dirstat .git: %r"); username = strdup(d->uid); groupname = strdup(d->gid); + if(username == nil || groupname == nil) + sysfatal("strdup: memory allocation failed"); free(d); branches = emalloc(sizeof(char*)); diff --git a/log.c b/log.c index 97d71a3..26a4876 100644 --- a/log.c +++ b/log.c @@ -30,7 +30,8 @@ filteradd(Pfilt *pf, char *path) p = smprint("%.*s", (int)(e - path), path); else p = strdup(path); - + if(p == nil) + sysfatal("Memory allocation failed"); while(e != nil && *e == '/') e++; for(i = 0; i < pf->nsub; i++){ diff --git a/save.c b/save.c index b41a528..8339a9c 100644 --- a/save.c +++ b/save.c @@ -459,6 +459,8 @@ main(int argc, char **argv) idx[nidx].mode = strtol(parts[2], nil, 8); idx[nidx].path = strdup(parts[3]); idx[nidx].order = nidx; + if(idx[nidx].path == nil) + sysfatal("strdup: memory allocation failed"); nidx++; free(ln); } diff --git a/walk.c b/walk.c index 03d0f38..af002a6 100644 --- a/walk.c +++ b/walk.c @@ -330,6 +330,8 @@ reporel(char *s) s = strdup(s); else s = smprint("%s/%s", wdirpath, s); + if(s == nil) + sysfatal("smprint or memory allocation failed: %r"); p = cleanname(s); n = strlen(repopath); if(strncmp(s, repopath, n) != 0) @@ -462,6 +464,8 @@ main(int argc, char **argv) idx[nidx].mode = strtol(parts[2], nil, 8); idx[nidx].path = strdup(parts[3]); idx[nidx].order = nidx; + if(idx[nidx].path == nil) + sysfatal("strdup: memory allocation failed"); nidx++; free(ln); }