Message ID | 1430417344-25020-1-git-send-email-steved@redhat.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On 04/30/2015 02:09 PM, Steve Dickson wrote: > Detect when an application passes in NULL names > and fail gracefully instead of crashing hard. > > Signed-off-by: Steve Dickson <steved@redhat.com> Committed... steved. > --- > libnfsidmap.c | 5 ++++- > nss.c | 3 +++ > 2 files changed, 7 insertions(+), 1 deletion(-) > > diff --git a/libnfsidmap.c b/libnfsidmap.c > index 833f94c..a8a9229 100644 > --- a/libnfsidmap.c > +++ b/libnfsidmap.c > @@ -100,8 +100,11 @@ static char * toupper_str(char *s) > > static int id_as_chars(char *name, uid_t *id) > { > - long int value = strtol(name, NULL, 10); > + long int value; > > + if (name == NULL) > + return 0; > + value = strtol(name, NULL, 10); > if (value == 0) { > /* zero value ids are valid */ > if (strcmp(name, "0") != 0) > diff --git a/nss.c b/nss.c > index f8129fe..b3fef5a 100644 > --- a/nss.c > +++ b/nss.c > @@ -135,6 +135,9 @@ static char *strip_domain(const char *name, const char *domain) > char *l = NULL; > int len; > > + if (name == NULL) > + goto out; > + > c = strrchr(name, '@'); > if (c == NULL && domain != NULL) > goto out; > -- To unsubscribe from this list: send the line "unsubscribe linux-nfs" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/libnfsidmap.c b/libnfsidmap.c index 833f94c..a8a9229 100644 --- a/libnfsidmap.c +++ b/libnfsidmap.c @@ -100,8 +100,11 @@ static char * toupper_str(char *s) static int id_as_chars(char *name, uid_t *id) { - long int value = strtol(name, NULL, 10); + long int value; + if (name == NULL) + return 0; + value = strtol(name, NULL, 10); if (value == 0) { /* zero value ids are valid */ if (strcmp(name, "0") != 0) diff --git a/nss.c b/nss.c index f8129fe..b3fef5a 100644 --- a/nss.c +++ b/nss.c @@ -135,6 +135,9 @@ static char *strip_domain(const char *name, const char *domain) char *l = NULL; int len; + if (name == NULL) + goto out; + c = strrchr(name, '@'); if (c == NULL && domain != NULL) goto out;
Detect when an application passes in NULL names and fail gracefully instead of crashing hard. Signed-off-by: Steve Dickson <steved@redhat.com> --- libnfsidmap.c | 5 ++++- nss.c | 3 +++ 2 files changed, 7 insertions(+), 1 deletion(-)