[libvirt] [PATCH] Add missing strdup return value check

Eric Blake eblake at redhat.com
Fri Oct 14 23:22:07 UTC 2011


On 10/14/2011 04:25 PM, Roopa Prabhu wrote:
> From: Roopa Prabhu<roprabhu at cisco.com>
>
> Check strdup return value and fail if error
>
> Signed-off-by: Roopa Prabhu<roprabhu at cisco.com>
> ---
>   src/util/pci.c |    8 +++++++-
>   1 files changed, 7 insertions(+), 1 deletions(-)
>
>
> diff --git a/src/util/pci.c b/src/util/pci.c
> index 2bbb90c..df4e6c8 100644
> --- a/src/util/pci.c
> +++ b/src/util/pci.c
> @@ -2018,7 +2018,13 @@ pciDeviceNetName(char *device_link_sysfs_path, char **netname)
>
>               /* Assume a single directory entry */
>               *netname = strdup(entry->d_name);
> -            ret = 0;
> +            if (!*netname) {
> +                virReportOOMError();
> +                ret = -1;

ret is already -1

> +            }
> +            else {

style - "} else {" should always be on one line.  But without the 
redundant ret assignment, you don't need braces in the first place.

> +                ret = 0;
> +            }

ACK (only affects OOM corner case), and I'm pushing with this squashed in:

diff --git i/src/util/pci.c w/src/util/pci.c
index df4e6c8..33b4b0e 100644
--- i/src/util/pci.c
+++ w/src/util/pci.c
@@ -2018,13 +2018,10 @@ pciDeviceNetName(char *device_link_sysfs_path, 
char **netname)

              /* Assume a single directory entry */
              *netname = strdup(entry->d_name);
-            if (!*netname) {
+            if (!*netname)
                  virReportOOMError();
-                ret = -1;
-            }
-            else {
+            else
                  ret = 0;
-            }
              break;
       }



-- 
Eric Blake   eblake at redhat.com    +1-801-349-2682
Libvirt virtualization library http://libvirt.org




More information about the libvir-list mailing list