]> git.lizzy.rs Git - plan9front.git/commitdiff
devssl: handle bad secretin/secretout ctl arguments (import from sources)
authorcinap_lenrek <cinap_lenrek@gmx.de>
Tue, 4 Dec 2012 09:52:42 +0000 (10:52 +0100)
committercinap_lenrek <cinap_lenrek@gmx.de>
Tue, 4 Dec 2012 09:52:42 +0000 (10:52 +0100)
sys/src/9/port/devssl.c

index 249003ca32aa02589abf405cf0e4be33fd2db182..52c0c23090a57bef4abe400315612801faa206db 100644 (file)
@@ -1186,12 +1186,20 @@ sslwrite(Chan *c, void *a, long n, vlong)
                m = (strlen(p)*3)/2;
                x = smalloc(m);
                t = dec64(x, m, p, strlen(p));
+               if(t <= 0){
+                       free(x);
+                       error(Ebadarg);
+               }
                setsecret(&s->in, x, t);
                free(x);
        } else if(strcmp(buf, "secretout") == 0 && p != 0) {
                m = (strlen(p)*3)/2 + 1;
                x = smalloc(m);
                t = dec64(x, m, p, strlen(p));
+               if(t <= 0){
+                       free(x);
+                       error(Ebadarg);
+               }
                setsecret(&s->out, x, t);
                free(x);
        } else