[libvirt] [PATCH] Fix phyp escape_specialcharacters.

Daniel P. Berrange berrange at redhat.com
Tue Aug 11 09:39:26 UTC 2009


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
-- 
|: Red Hat, Engineering, London   -o-   http://people.redhat.com/berrange/ :|
|: http://libvirt.org  -o-  http://virt-manager.org  -o-  http://ovirt.org :|
|: http://autobuild.org       -o-         http://search.cpan.org/~danberr/ :|
|: GnuPG: 7D3B9505  -o-  F3C9 553F A1DA 4AC2 5648 23C1 B3DF F742 7D3B 9505 :|




More information about the libvir-list mailing list