Index: freebsd_head/lib/libc/gen/popen.c =================================================================== --- freebsd_head/lib/libc/gen/popen.c +++ freebsd_head/lib/libc/gen/popen.c @@ -145,12 +145,20 @@ } THREAD_UNLOCK(); - /* Parent; assume fdopen can't fail. */ + /* Parent; adding check for fdopen failure. */ if (*type == 'r') { iop = fdopen(pdes[0], type); + if (iop == NULL) { /* fdopen failed */ + perror("fdopen(pdes[0] type) FAILED\n"); + abort(); + } (void)_close(pdes[1]); } else { iop = fdopen(pdes[1], type); + if (iop == NULL) { /* fdopen failed */ + perror("fdopen(pdes[1] type) FAILED\n"); + abort(); + } (void)_close(pdes[0]); }