]> git.ozlabs.org Git - ppp.git/blobdiff - pppd/options.c
pppd/options.c: handle malloc failure (#425)
[ppp.git] / pppd / options.c
index 214adaeca455dcb5638f87d4c541e6300136f748..4b3e93ed1fbdc93c07d2847e58e230d837619c89 100644 (file)
@@ -452,9 +452,11 @@ ppp_get_path(ppp_path_t type, char *buf, size_t bufsz)
         case PPP_DIR_RUNTIME:
             path = PPP_PATH_VARRUN;
             break;
+#ifdef PPP_WITH_PLUGINS
         case PPP_DIR_PLUGIN:
             path = PPP_PATH_PLUGIN;
             break;
+#endif
         case PPP_DIR_CONF:
             path = PPP_PATH_CONFDIR;
             break;
@@ -477,10 +479,12 @@ ppp_get_filepath(ppp_path_t type, const char *name, char *buf, size_t bufsz)
         case PPP_DIR_RUNTIME:
             path = PPP_PATH_VARRUN;
             break;
+#ifdef PPP_WITH_PLUGINS
         case PPP_DIR_PLUGIN:
             path = PPP_PATH_PLUGIN;
             break;
-        case PPP_DIR_CONF:
+#endif
+       case PPP_DIR_CONF:
             path = PPP_PATH_CONFDIR;
             break;
         }
@@ -1838,6 +1842,10 @@ user_setenv(char **argv)
     /* The name never changes, so allocate it with the structure */
     if (uep == NULL) {
        uep = malloc(sizeof (*uep) + (eqp-arg));
+       if (uep == NULL) {
+               novm("environment variable");
+               return 1;
+       }
        strncpy(uep->ue_name, arg, eqp-arg);
        uep->ue_name[eqp-arg] = '\0';
        uep->ue_next = NULL;
@@ -1907,6 +1915,10 @@ user_unsetenv(char **argv)
     /* The name never changes, so allocate it with the structure */
     if (uep == NULL) {
        uep = malloc(sizeof (*uep) + strlen(arg));
+       if (uep == NULL) {
+               novm("environment variable");
+               return 1;
+       }
        strcpy(uep->ue_name, arg);
        uep->ue_next = NULL;
        insp = &userenv_list;