From 3cb4106b13aa883f3b704aa4026b78fd36db3756 Mon Sep 17 00:00:00 2001 From: Laurent Bercot Date: Mon, 2 Jul 2018 12:38:33 +0000 Subject: Add test framework, fix some bugs --- src/libnsss/nsss_switch_grp_read.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'src/libnsss/nsss_switch_grp_read.c') diff --git a/src/libnsss/nsss_switch_grp_read.c b/src/libnsss/nsss_switch_grp_read.c index 6152484..74b981b 100644 --- a/src/libnsss/nsss_switch_grp_read.c +++ b/src/libnsss/nsss_switch_grp_read.c @@ -1,5 +1,6 @@ /* ISC license. */ + #include #include #include @@ -33,7 +34,7 @@ int nsss_switch_grp_read (buffer *b, struct group *gr, stralloc *sa, genalloc *g uint32_unpack_big(buf, &x) ; grtmp.gr_gid = x ; uint32_unpack_big(buf + 4, &total) ; uint32_unpack_big(buf + 8, &n) ; - if (n >= 0x30000000u) return (errno = EPROTO, 0) ; + if (total < 2 || n >= 0x30000000u) return (errno = EPROTO, 0) ; if (!stralloc_readyplus(sa, total)) return 0 ; if (!genalloc_readyplus(char *, ga, n+1)) return 0 ; if (!buffer_timed_get(b, sa->s + sa->len, total, deadline, stamp)) return 0 ; -- cgit v1.3.1