dss = malloc(sizeof(struct dss_key));
dss = smalloc(sizeof(struct dss_key));
static void *dss_newkey(char *data, int len) {    char *p;    int slen;    struct dss_key *dss;    dss = malloc(sizeof(struct dss_key));    if (!dss) return NULL;    getstring(&data, &len, &p, &slen);#ifdef DEBUG_DSS    {        int i;        printf("key:");        for (i=0;i<len;i++)            printf("  %02x", (unsigned char)(data[i]));        printf("\n");    }#endif    if (!p || memcmp(p, "ssh-dss", 7)) {	free(dss);	return NULL;    }    dss->p = getmp(&data, &len);    dss->q = getmp(&data, &len);    dss->g = getmp(&data, &len);    dss->y = getmp(&data, &len);    return dss;}