]> andersk Git - moira.git/commitdiff
avoid NULL dereference
authormar <mar>
Fri, 4 Jan 1991 16:57:44 +0000 (16:57 +0000)
committermar <mar>
Fri, 4 Jan 1991 16:57:44 +0000 (16:57 +0000)
clients/moira/nfs.c
clients/moira/printer.c
clients/moira/zephyr.c

index 402d306a64ae2503cfc803236af0e58daa14a727..2742b4d2f8b1ed4541e07095cce30d9376bdd374 100644 (file)
@@ -267,7 +267,7 @@ Bool junk;
 
     if ((stat = do_mr_query("update_nfsphys", CountArgs(args), args,
                             Scream, (char *)NULL)) != MR_SUCCESS) 
-       com_err(program_name, stat, (char *) NULL);
+       com_err(program_name, stat, " in RealUpdateNFSService");
 }
 
 /*     Function Name: UpdateNFSService
index 42e3d7f738c05a32923a9f70ea8cb97d4c3c4cf8..62d6020b12040b4f2248cf8dad33c0ac55e4cccc 100644 (file)
@@ -80,7 +80,7 @@ char *name;
 
     if ( (stat = do_mr_query("get_printcap_entry", 1, &name,
                              StoreInfo, (char *)&elem)) != 0) {
-           com_err(program_name, stat, NULL);
+           com_err(program_name, stat, " in GetPcapInfo");
            return(NULL);
     }
     return(QueueTop(elem));
@@ -289,7 +289,9 @@ char **info;
 Bool one_item;
 {
     int stat;
+    char **oldinfo;
 
+    oldinfo = CopyInfo(info);
     if (AskPcapInfo(info) == NULL)
       return(DM_QUIT);
     if ((stat = do_mr_query("delete_printcap_entry", 1, &info[PCAP_NAME],
@@ -298,8 +300,13 @@ Bool one_item;
        return(DM_NORMAL);
     }
     if ((stat = do_mr_query("add_printcap_entry", CountArgs(info), info,
-                            NullFunc, NULL)) != 0)
+                            NullFunc, NULL)) != 0) {
        com_err(program_name, stat, " in ChngPcap");
+       if ((stat = do_mr_query("add_printcap_entry", CountArgs(oldinfo) - 3,
+                               oldinfo, NullFunc, NULL)) != 0)
+         com_err(program_name, stat, " while attempting to put old info back");
+    }
+    FreeInfo(oldinfo);
     return(DM_NORMAL);
 }
 
@@ -412,7 +419,7 @@ char *name;
 
     if ((status = do_mr_query("get_palladium", 1, &name, StoreInfo, &elem))
        != 0) {
-       com_err(program_name, status, NULL);
+       com_err(program_name, status, " in GetPalladiumInfo");
        return(NULL);
     }
     return(QueueTop(elem));
index ad69d97258a8c14c3a631d6048d236adc4f3c213..294ad2ab4ea6d4d002555e3a2ff87cc385ab3eed 100644 (file)
@@ -54,7 +54,7 @@ char *name;
 
     if ((stat = do_mr_query("get_zephyr_class", 1, &name, StoreInfo,
                            (char *)&elem)) != 0) {
-       com_err(program_name, stat, NULL);
+       com_err(program_name, stat, " in GetZephyrInfo");
        return(NULL);
     }
     return(QueueTop(elem));
This page took 0.04538 seconds and 5 git commands to generate.