From: Dan Fandrich Date: Wed, 10 Nov 2010 02:47:16 +0000 (-0800) Subject: Check for getinfo errors before setting attributes X-Git-Tag: curl-7_21_3~78 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=892cacef43b4871d8ce50b2e61a143ede1b3083e;p=curl Check for getinfo errors before setting attributes --- diff --git a/src/xattr.c b/src/xattr.c index eb244f852..e03509680 100644 --- a/src/xattr.c +++ b/src/xattr.c @@ -31,7 +31,7 @@ #include /* include header from libc, not from libattr */ /* mapping table of curl metadata to extended attribute names */ -static struct xattr_mapping { +static const struct xattr_mapping { const char *attr; /* name of the xattr */ CURLINFO info; } mappings[] = { @@ -50,11 +50,11 @@ int write_xattr(CURL *curl, const char *filename) { int i = 0; int err = 0; - /* loop through all xattr-curlinfo pairs and abort on error */ + /* loop through all xattr-curlinfo pairs and abort on a set error */ while ( err == 0 && mappings[i].attr != NULL ) { char *value = NULL; - curl_easy_getinfo(curl, mappings[i].info, &value); - if (value) { + CURLcode rc = curl_easy_getinfo(curl, mappings[i].info, &value); + if ( rc == CURLE_OK && value ) { err = setxattr( filename, mappings[i].attr, value, strlen(value), 0 ); } i++;