[libvirt] [PATCH] Make openvzGetVPSUUID take a len.

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


Daniel P. Berrange wrote:
> On Fri, Aug 07, 2009 at 11:06:20AM +0200, Chris Lalancette wrote:
>> Minor fix to openvzGetVPSUUID to make it take a length parameter.
>> This ensures that it doesn't make assumptions about the length
>> of the UUID buffer, and paves the way for removal of strncpy in
>> the future.
>>
>> Signed-off-by: Chris Lalancette <clalance at redhat.com>
>> ---
>>  src/openvz_conf.c |   10 +++++-----
>>  1 files changed, 5 insertions(+), 5 deletions(-)
>>
>> diff --git a/src/openvz_conf.c b/src/openvz_conf.c
>> index 6e9af67..a172fe3 100644
>> --- a/src/openvz_conf.c
>> +++ b/src/openvz_conf.c
>> @@ -54,7 +54,7 @@
>>  #define VIR_FROM_THIS VIR_FROM_OPENVZ
>>  
>>  static char *openvzLocateConfDir(void);
>> -static int openvzGetVPSUUID(int vpsid, char *uuidstr);
>> +static int openvzGetVPSUUID(int vpsid, char *uuidstr, size_t len);
>>  static int openvzLocateConfFile(int vpsid, char *conffile, int maxlen, const char *ext);
>>  static int openvzAssignUUIDs(void);
>>  
>> @@ -469,7 +469,7 @@ int openvzLoadDomains(struct openvz_driver *driver) {
>>          if (virAsprintf(&dom->def->name, "%i", veid) < 0)
>>              goto no_memory;
>>  
>> -        openvzGetVPSUUID(veid, uuidstr);
>> +        openvzGetVPSUUID(veid, uuidstr, sizeof(uuidstr));
>>          ret = virUUIDParse(uuidstr, dom->def->uuid);
>>  
>>          if (ret == -1) {
>> @@ -805,7 +805,7 @@ openvz_readline(int fd, char *ptr, int maxlen)
>>  }
>>  
>>  static int
>> -openvzGetVPSUUID(int vpsid, char *uuidstr)
>> +openvzGetVPSUUID(int vpsid, char *uuidstr, size_t len)
>>  {
>>      char conf_file[PATH_MAX];
>>      char line[1024];
>> @@ -832,7 +832,7 @@ openvzGetVPSUUID(int vpsid, char *uuidstr)
>>  
>>          sscanf(line, "%s %s\n", iden, uuidbuf);
>>          if(STREQ(iden, "#UUID:")) {
>> -            strncpy(uuidstr, uuidbuf, VIR_UUID_STRING_BUFLEN);
>> +            strncpy(uuidstr, uuidbuf, len);
>>              break;
>>          }
>>      }
>> @@ -856,7 +856,7 @@ openvzSetDefinedUUID(int vpsid, unsigned char *uuid)
>>      if (openvzLocateConfFile(vpsid, conf_file, PATH_MAX, "conf")<0)
>>         return -1;
>>  
>> -    if (openvzGetVPSUUID(vpsid, uuidstr))
>> +    if (openvzGetVPSUUID(vpsid, uuidstr, sizeof(uuidstr)))
>>          return -1;
>>  
>>      if (uuidstr[0] == 0) {
> 
> ACK
> 
> Daniel

Committed.

-- 
Chris Lalancette




More information about the libvir-list mailing list