minor, add generous fixed buffer for sysctl strings
authorkremlin <ian@kremlin.cc>
Thu, 7 Aug 2014 05:10:15 +0000 (00:10 -0500)
committerkremlin <ian@kremlin.cc>
Thu, 7 Aug 2014 05:10:15 +0000 (00:10 -0500)
src/interfaces/hostnamed/hostnamed.c

index fae193ebd972ab79ed0f51d903878f8ed74239d4..f1c3fb4b1b11e47cf17f3ef9fdc61343a4cd4e5a 100644 (file)
@@ -399,16 +399,22 @@ int main() {
 
 gboolean determine_chassis_and_icon() {
 
 
 gboolean determine_chassis_and_icon() {
 
+    const size_t bufsize = 4096;    
+
     char *hwproduct, *hwmodel, *hwvendor, *hwmachine;
     size_t hwproduct_size, hwmodel_size, hwvendor_size, hwmachine_size;
     int hwproduct_name[2], hwmodel_name[2], hwvendor_name[2], hwmachine_name[2];
     unsigned int i;
     gboolean UNSURE_CHASSIS_FLAG, UNSURE_ICON_FLAG;
 
     char *hwproduct, *hwmodel, *hwvendor, *hwmachine;
     size_t hwproduct_size, hwmodel_size, hwvendor_size, hwmachine_size;
     int hwproduct_name[2], hwmodel_name[2], hwvendor_name[2], hwmachine_name[2];
     unsigned int i;
     gboolean UNSURE_CHASSIS_FLAG, UNSURE_ICON_FLAG;
 
-    hwproduct = hwmodel = hwvendor = hwmachine = NULL;
-    hwproduct_size = hwmodel_size = hwvendor_size = hwmachine_size = 0;
+    hwproduct_size = hwmodel_size = hwvendor_size = hwmachine_size = bufsize;
     UNSURE_CHASSIS_FLAG = UNSURE_ICON_FLAG = FALSE;
 
     UNSURE_CHASSIS_FLAG = UNSURE_ICON_FLAG = FALSE;
 
+    hwproduct = (char*)g_malloc0(4096);
+    hwmodel   = (char*)g_malloc0(4096);
+    hwvendor  = (char*)g_malloc0(4096);
+    hwmachine = (char*)g_malloc0(4096);
+
     hwproduct_name[0] = CTL_HW;
     hwproduct_name[1] = HW_PRODUCT;
 
     hwproduct_name[0] = CTL_HW;
     hwproduct_name[1] = HW_PRODUCT;