summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBenjamin Dauvergne <bdauvergne@entrouvert.com>2011-01-04 16:37:34 +0100
committerBenjamin Dauvergne <bdauvergne@entrouvert.com>2011-01-04 16:37:34 +0100
commit2b90dcd5034390a79d6d37b3d2b33bde0c73ab83 (patch)
tree7e6bb3099d1509000de3617f5811c3a2ef153970
parent03b15e3886d8f65047fc0abced2e20f16fcb1ecf (diff)
downloadlasso-2b90dcd5034390a79d6d37b3d2b33bde0c73ab83.tar.gz
lasso-2b90dcd5034390a79d6d37b3d2b33bde0c73ab83.tar.xz
lasso-2b90dcd5034390a79d6d37b3d2b33bde0c73ab83.zip
[saml2] when parsing short numbers reinitialize errno
-rw-r--r--lasso/saml-2.0/provider.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/lasso/saml-2.0/provider.c b/lasso/saml-2.0/provider.c
index 4f9192d5..35beeaa9 100644
--- a/lasso/saml-2.0/provider.c
+++ b/lasso/saml-2.0/provider.c
@@ -127,8 +127,10 @@ xsdIsFalse(xmlChar *value)
static gboolean
xsdUnsignedShortParse(xmlChar *value, int *out) {
- int l = strtol((char*)value, NULL, 10);
+ int l = 0;
+ errno = 0;
+ l = strtol((char*)value, NULL, 10);
if (((l == LONG_MIN || l == LONG_MAX) && errno == ERANGE) ||
errno == EINVAL || l < 0 || l >= 65535) {
return FALSE;