[libvirt] [PATCH] Fix phyp escape_specialcharacters.

Chris Lalancette clalance at redhat.com
Tue Aug 11 11:34:43 UTC 2009


Daniel P. Berrange wrote:
> On Fri, Aug 07, 2009 at 11:06:22AM +0200, Chris Lalancette wrote:
>> A couple of minor fixes to phyp escape_specialcharacters.  Make it
>> a static function (since it's only used in phyp/phyp_driver.c), and
>> make it take a dstlen parameter.  This paves the way for removing
>> strncpy in the future.
>>
>> Signed-off-by: Chris Lalancette <clalance at redhat.com>
>> ---
>>  src/phyp/phyp_driver.c |   10 ++++++----
>>  src/phyp/phyp_driver.h |    2 --
>>  2 files changed, 6 insertions(+), 6 deletions(-)
>>
>> diff --git a/src/phyp/phyp_driver.c b/src/phyp/phyp_driver.c
>> index cbfd31b..f457cf4 100644
>> --- a/src/phyp/phyp_driver.c
>> +++ b/src/phyp/phyp_driver.c
>> @@ -53,6 +53,8 @@
>>  
>>  #define VIR_FROM_THIS VIR_FROM_PHYP
>>  
>> +static int escape_specialcharacters(char *src, char *dst, size_t dstlen);
>> +
>>  /*
>>   * URI: phyp://user@[hmc|ivm]/managed_system
>>   * */
>> @@ -94,7 +96,7 @@ phypOpen(virConnectPtr conn,
>>          return VIR_DRV_OPEN_ERROR;
>>      }
>>  
>> -    if (escape_specialcharacters(conn->uri->path, string) == -1) {
>> +    if (escape_specialcharacters(conn->uri->path, string, sizeof(string)) == -1) {
>>          virRaiseError(conn, NULL, NULL, 0, VIR_FROM_PHYP,
>>                        VIR_ERR_ERROR, NULL, NULL, NULL, 0, 0, "%s",
>>                        _("Error parsing 'path'. Invalid characters."));
>> @@ -1341,8 +1343,8 @@ init_uuid_db(virConnectPtr conn)
>>      return;
>>  }
>>  
>> -int
>> -escape_specialcharacters(char *src, char *dst)
>> +static int
>> +escape_specialcharacters(char *src, char *dst, size_t dstlen)
>>  {
>>      size_t len = strlen(src);
>>      char temp_buffer[len];
>> @@ -1367,7 +1369,7 @@ escape_specialcharacters(char *src, char *dst)
>>      }
>>      temp_buffer[j] = '\0';
>>  
>> -    if (strncpy(dst, temp_buffer, j) == NULL)
>> +    if (strncpy(dst, temp_buffer, dstlen) == NULL)
>>          return -1;
>>  
>>      return 0;
>> diff --git a/src/phyp/phyp_driver.h b/src/phyp/phyp_driver.h
>> index fd824b3..f16b6fe 100644
>> --- a/src/phyp/phyp_driver.h
>> +++ b/src/phyp/phyp_driver.h
>> @@ -62,5 +62,3 @@ char *phypGetBackingDevice(virConnectPtr conn, const char *managed_system,
>>  int phypDiskType(virConnectPtr conn, char *backing_device);
>>  
>>  SSH_SESSION *openSSHSession(virConnectPtr conn, virConnectAuthPtr auth);
>> -
>> -int escape_specialcharacters(char *src, char *dst);
> 
> 
> ACK
> 
> Daniel

Committed.

-- 
Chris Lalancette




More information about the libvir-list mailing list