aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMathieu Lonjaret <lejatorn@gmail.com>2009-09-12 15:25:51 -0400
committerMathieu Lonjaret <lejatorn@gmail.com>2009-09-12 15:25:51 -0400
commit7b5db1c35abac2240fffbee2027c3e99b760863c (patch)
tree886260ba0d779ffad2b6efc34ee05578dc396902 /src
parent0cadb4301d18724e7513d7489cb5bebd262c82f1 (diff)
downloadplan9port-7b5db1c35abac2240fffbee2027c3e99b760863c.tar.gz
plan9port-7b5db1c35abac2240fffbee2027c3e99b760863c.tar.bz2
plan9port-7b5db1c35abac2240fffbee2027c3e99b760863c.zip
libplumb, Mail: fix crash on nil plumb fids
http://codereview.appspot.com/116083
Diffstat (limited to 'src')
-rw-r--r--src/cmd/acme/mail/mail.c9
-rw-r--r--src/libplumb/fid.c4
2 files changed, 10 insertions, 3 deletions
diff --git a/src/cmd/acme/mail/mail.c b/src/cmd/acme/mail/mail.c
index 14ace323..474d8497 100644
--- a/src/cmd/acme/mail/mail.c
+++ b/src/cmd/acme/mail/mail.c
@@ -84,9 +84,12 @@ threadmain(int argc, char *argv[])
quotefmtinstall();
/* open these early so we won't miss notification of new mail messages while we read mbox */
- plumbsendfd = plumbopenfid("send", OWRITE|OCEXEC);
- plumbseemailfd = plumbopenfid("seemail", OREAD|OCEXEC);
- plumbshowmailfd = plumbopenfid("showmail", OREAD|OCEXEC);
+ if((plumbsendfd = plumbopenfid("send", OWRITE|OCEXEC)) == nil)
+ fprint(2, "warning: open plumb/send: %r\n");
+ if((plumbseemailfd = plumbopenfid("seemail", OREAD|OCEXEC)) == nil)
+ fprint(2, "warning: open plumb/seemail: %r\n");
+ if((plumbshowmailfd = plumbopenfid("showmail", OREAD|OCEXEC)) == nil)
+ fprint(2, "warning: open plumb/showmail: %r\n");
shortmenu = 0;
srvname = "mail";
diff --git a/src/libplumb/fid.c b/src/libplumb/fid.c
index ec133c82..017f92c3 100644
--- a/src/libplumb/fid.c
+++ b/src/libplumb/fid.c
@@ -138,6 +138,10 @@ plumbrecvfid(CFid *fid)
Plumbmsg *m;
int n, more;
+ if(fid == nil){
+ werrstr("invalid fid");
+ return nil;
+ }
buf = malloc(8192);
if(buf == nil)
return nil;